110,556
社区成员
发帖
与我相关
我的任务
分享
//接收消息
void ReceiveMsg(object o)
{
TcpClient client = o as TcpClient;
while (true)
{
//接收客户端发送过来的数据
try
{
//定义byte数组存放从客户端接收过来的数据
byte[] buffer = new byte[1024 * 1024];
// byte[] Buffer = new byte[1024];
//将接收过来的数据放到buffer中,并返回实际接受数据的长度
int n = client.Client.Receive(buffer);
if (n==0)
{
if (client != null)
{
string point = client.Client.RemoteEndPoint.ToString();
dic.Remove(point);
cboIpPort.Items.Remove(point);
string message = "客户端" + client.Client.RemoteEndPoint.ToString() + "下线啦!";
ShowMsg(message);
client.Close();
}
return;
}
//将字节转换成字符串
//string words = Encoding.UTF8.GetString(buffer, 0, n);
string words = System.Text.Encoding.Default.GetString(buffer, 0, n);
//ShowMsg(client.Client.RemoteEndPoint.ToString() + ":" + words);
ShowMsg(words);
catch (Exception ex)
{
if (client != null)
{
string point = client.Client.RemoteEndPoint.ToString();
dic.Remove(point);
string message = "客户端" + client.Client.RemoteEndPoint.ToString() + "下线啦!";
ShowMsg(message);
client.Close();
}