Click here to Skip to main content
15,891,976 members
Home / Discussions / C#
   

C#

 
GeneralRe: Import XML file without stylesheet Pin
Bernhard Hiller13-Jul-14 21:40
Bernhard Hiller13-Jul-14 21:40 
QuestionError : Method name expected // how do I fix this error. please Pin
Member 1074342211-Jul-14 17:47
Member 1074342211-Jul-14 17:47 
AnswerRe: Error : Method name expected // how do I fix this error. please Pin
Richard.Berry10011-Jul-14 19:19
Richard.Berry10011-Jul-14 19:19 
SuggestionRe: Error : Method name expected // how do I fix this error. please Pin
Richard MacCutchan11-Jul-14 21:36
mveRichard MacCutchan11-Jul-14 21:36 
QuestionWhy Sql server don't convert dateformat (dd-mm-yyyy) or (yyyy-dd-mm) ? Pin
arvind mepani11-Jul-14 4:42
arvind mepani11-Jul-14 4:42 
AnswerRe: Why Sql server don't convert dateformat (dd-mm-yyyy) or (yyyy-dd-mm) ? Pin
Retro61711-Jul-14 5:11
Retro61711-Jul-14 5:11 
AnswerRe: Why Sql server don't convert dateformat (dd-mm-yyyy) or (yyyy-dd-mm) ? Pin
Richard MacCutchan11-Jul-14 5:19
mveRichard MacCutchan11-Jul-14 5:19 
AnswerRe: Why Sql server don't convert dateformat (dd-mm-yyyy) or (yyyy-dd-mm) ? Pin
Richard Deeming11-Jul-14 5:21
mveRichard Deeming11-Jul-14 5:21 
AnswerRe: Why Sql server don't convert dateformat (dd-mm-yyyy) or (yyyy-dd-mm) ? Pin
OriginalGriff11-Jul-14 5:55
mveOriginalGriff11-Jul-14 5:55 
AnswerRe: Why Sql server don't convert dateformat (dd-mm-yyyy) or (yyyy-dd-mm) ? Pin
Bernhard Hiller13-Jul-14 21:45
Bernhard Hiller13-Jul-14 21:45 
QuestionILnumerics illustrate 3D coordinates Pin
gzax11-Jul-14 3:47
gzax11-Jul-14 3:47 
AnswerRe: ILnumerics illustrate 3D coordinates Pin
OriginalGriff11-Jul-14 3:56
mveOriginalGriff11-Jul-14 3:56 
QuestionCrystal Report Runtime command line Pin
Amr Muhammed11-Jul-14 3:33
Amr Muhammed11-Jul-14 3:33 
AnswerRe: Crystal Report Runtime command line Pin
Eddy Vluggen11-Jul-14 7:16
professionalEddy Vluggen11-Jul-14 7:16 
QuestionPass byte.TryParse() or int.tryParse() as argument Pin
Mc_Topaz11-Jul-14 1:03
Mc_Topaz11-Jul-14 1:03 
AnswerRe: Pass byte.TryParse() or int.tryParse() as argument Pin
Richard Deeming11-Jul-14 1:29
mveRichard Deeming11-Jul-14 1:29 
GeneralRe: Pass byte.TryParse() or int.tryParse() as argument Pin
Mc_Topaz11-Jul-14 1:45
Mc_Topaz11-Jul-14 1:45 
Questionwhat exactly below code do Pin
anil42010-Jul-14 21:24
anil42010-Jul-14 21:24 
SuggestionRe: what exactly below code do Pin
Hemant Singh Rautela10-Jul-14 21:33
professionalHemant Singh Rautela10-Jul-14 21:33 
AnswerRe: what exactly below code do Pin
OriginalGriff10-Jul-14 21:39
mveOriginalGriff10-Jul-14 21:39 
SuggestionRe: what exactly below code do Pin
ZurdoDev11-Jul-14 1:47
professionalZurdoDev11-Jul-14 1:47 
QuestionC# insert command error Pin
PJeffrey10-Jul-14 16:11
PJeffrey10-Jul-14 16:11 
AnswerRe: C# insert command error Pin
Dave Kreskowiak10-Jul-14 18:20
mveDave Kreskowiak10-Jul-14 18:20 
AnswerRe: C# insert command error Pin
jldavis515-Jul-14 8:13
jldavis515-Jul-14 8:13 
QuestionPrivate chat Pin
Member 1076298010-Jul-14 11:15
Member 1076298010-Jul-14 11:15 
hi,
I wrote a chat program with private and public chat,but i have a problem,for example when one user want to have a private chat with other,his first message send to server not to specific user and other messages send for all users that ON now,
Now I want to close the public chat server connection with this user,because the program i wrote in private form can be server and client.

In client program I have one form that has 2 buttons and one datagridview, one button is for "private chat" and other is for "public",the datagridview shows friends.when i click "public chat" button i go to Public form that has one "send button" and 2 text boxes one is "txtMessage" and other is"textbox2".Now my "send button" code is :
try
{
if (connectionstatus)
{
string TimeOfConnect = " Connected at :" + ConectTime;
string firstmessage = label2.Text.Trim();
byte[] buffer = PadMessage(string.Format("{0} {1}", firstmessage, TimeOfConnect));
server.Send(buffer, 0, MessageLength, SocketFlags.None);
connectionstatus = false;
}
else
{
byte[] buffer = PadMessage(string.Format("{0} : {1}", label2.Text.Trim(), txtMessage.Text));
server.Send(buffer, 0, MessageLength, SocketFlags.None);
textBox2.Text += string.Format("Me : {0}\r\n", txtMessage.Text);
txtMessage.Text = "";
txtMessage.Focus();
}
}
catch (Exception)
{
if (!tfconnect)
return;
server.Close();
tRecive.Abort();
server.Close();
if (tfconnect)
RoomForm_Load(sender, e);
txtMessage.Text = "";

}

}

private byte[] PadMessage(string message)
{
while (message.Length < MessageLength)
message += " ";

byte[] buffer = Encoding.ASCII.GetBytes(message);
return buffer;
}

and my form load code is

if (tfconnect)
{

txtMessage.Enabled = false;
Send_btn.Enabled = false;
tfconnect = false;
connectionstatus = false;

try
{

tRecive.Abort();
server.Close();
}
catch { }
}
else
{

DTime = DateTime.Now;
ConectTime = " " + DTime;
string show = label2.Text + "join at" + ConectTime;
// listView1.Items.Add(show);

txtMessage.Enabled = true;
Send_btn.Enabled = true;
txtMessage.Focus();
tfconnect = true;
connectionstatus =true ;
ConectToServer();
button1_Click_1(sender, e);
connectionstatus = false;



}



}
private void ConectToServer()
{
try
{
server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
try
{
IPAddress ipAddress = IPAddress.Parse(ServerIPAddress);
server.Connect(ipAddress, ServerPortNo);
}
catch
{
MessageBox.Show("ip can't identified");

}

tRecive = new Thread(new ParameterizedThreadStart(Startclient));
tRecive.Start(server);

}
catch (SocketException)
{
txtMessage.Enabled = false;
Send_btn.Enabled = false;
MessageBox.Show("can't connect to server");
tfconnect = true;
RoomForm_Load(null, null);
return;

}
}
public bool beclose = true;
public void Startclient(object client1)
{
while (beclose)
{


byte[] ReceivedBuffer = new byte[1024];

int a = 0;
try
{
a = ((Socket)client1).Receive(ReceivedBuffer);
if (a == 0)
throw new Exception();
}
catch
{
Thread.CurrentThread.Abort();
((Socket)client1).Close();
RoomForm_Load(null, null);
return;
}
string Data = Encoding.UTF8.GetString(ReceivedBuffer).Replace("\0", "").Trim();
System.Threading.ThreadStart todo = delegate
{
if (Data.Substring(0, 3) != "***")
{
textBox2.Text += string.Format("{0}\r\n", Data);
}
else
{
Form_Load(null, null);
}

};
textBox2.Invoke(todo);
}
}

My server has one button "btnListen"
also My server code is

private void SetButtonEnable(Button btn, bool SetEnabled)
{
System.Threading.ThreadStart todo = delegate
{
btn.Enabled = SetEnabled;
};
btn.Invoke(todo);
}
private void clientListRefresh()
{
try
{
System.Threading.ThreadStart todo = delegate
{
txt_showclients.Text = "";

};
txt_showclients.Invoke(todo);
foreach (var client in clients)
{
System.Threading.ThreadStart todo1 = delegate
{
txt_showclients.Text += client.Value + "\r\n";


};
txt_showclients.Invoke(todo1);
}
}
catch { }
}
private void startServer()
{
while (serverStart)
{
try
{
var client = server.Accept();
// server wait
// get name that client send
byte[] recivedBuffer = new byte[1024];
int testconnection = 0;
try
{
testconnection = client.Receive(recivedBuffer);
if (testconnection == 0)
throw new Exception();
else
{
string data = Encoding.UTF8.GetString(recivedBuffer).Replace("\0", "").Trim();
clients.Add(client, data);
clientListRefresh();
Thread clientThread = new Thread(new ParameterizedThreadStart(clientconnection));
clientThread.Start(client);
}

}
catch (Exception ex)
{
MessageBox.Show("client close");
client.Close();
}

}
catch
{
}
}

}
private void clientconnection(object object1)
{
var client = ((Socket)object1);
while (serverStart)
{
byte[] recivedBuffer = new byte[1024];
int testconnection = 0;
try
{
testconnection = client.Receive(recivedBuffer);
if (testconnection == 0)
throw new Exception();
}
catch (Exception)
{
clients.Remove(client);
client.Close();
if (refreshListIfServerIsStart)
clientListRefresh();
return;
}

string data = Encoding.UTF8.GetString(recivedBuffer).Replace("\0", "").Trim();
Thread broadcastThread = new Thread(new ParameterizedThreadStart(broadCast));
broadcastThread.Start(new object[] { client, data });
}
}
private void broadCast(object object1)
{
var Senderclient = ((Socket)((object[])object1)[0]);
var data = ((string)((object[])object1)[1]);
byte[] broadCastBuffer = padMessage(data);
foreach (var client in clients)
{
if (client.Key.Equals(Senderclient))
continue;
System.Threading.ParameterizedThreadStart breadCastSend = delegate(object clientX)
{
((Socket)clientX).Send(broadCastBuffer, 0, messageLength, SocketFlags.None);
};
new Thread(breadCastSend).Start(client.Key);
}
}
private byte[] padMessage(string message)
{
while (message.Length < messageLength)
message += " ";
byte[] buffer = Encoding.UTF8.GetBytes(message);
return buffer;
}
private void clientsLogout()
{
try
{
string data = "***";
byte[] broadCastBuffer = padMessage(data);
foreach (var client in clients)
{
System.Threading.ParameterizedThreadStart breadCastSend = delegate(object clientX)
{
((Socket)clientX).Send(broadCastBuffer, 0, messageLength, SocketFlags.None);
};
new Thread(breadCastSend).Start(client.Key);
}
}
catch { }
}



private void btnListen_Click(object sender, EventArgs e)
{
refreshListIfServerIsStart = true;
try
{
server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
EndPoint ipendpoint = new IPEndPoint(IPAddress.Parse(serverIP), serverPort);
server.Bind(ipendpoint);
server.Listen(maxConnection);
serverStart = true;
Thread startServerThread = new Thread(new ThreadStart(startServer));
startServerThread.Start();
}
catch { }
SetButtonEnable(btnListen, false);
// SetButtonEnable(btn, true);
txtIp.Enabled = false;

}

Now I want to write Private Chat that use this server,for exp when user want has private chat with one of friends click his name in datagridview and open private chat form,so he can has private chat with that friend,
Now what should i do?Confused | :confused:


modified 11-Jul-14 5:48am.

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.