TcpClient 的RemoteEndPoint与LocalEndPoint反过来啦。

jianshao810 jianshao810 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

public void AcceptThread()
{
while (true)
{
try
{
TcpClient client = Listener.AcceptTcpClient();
DCTUsers[client.Client.RemoteEndPoint.ToString()] = client;

if (lbUsers.InvokeRequired)
{
lbUsers.Invoke(new Action(() =>
{
lbUsers.Items.Clear();
foreach (var dc in DCTUsers)
{
lbUsers.Items.Add(dc.Key);
}
}));
}

WriteReveice(string.Format("【服务端】收到请求 {0}", client.Client.LocalEndPoint.ToString()));
Thread manageThd = new Thread(ManageThread);
manageThd.Start(client);
}
catch (Exception e)
{
WriteReveice(e.Message);
}
}
}

public void ManageThread(object _client)
{
try
{
TcpClient client = _client as TcpClient;
if (client != null && client.Connected)
{
while (true)
{
NetworkStream ns = client.GetStream();
BinaryReader sr = new BinaryReader(ns);
string msg =string.Format("【{0}】:{1}",client.Client.RemoteEndPoint.ToString(),sr.ReadString()) ;
WriteReveice(msg);
}
}
}
catch (Exception e)
{ }
}

环境:
服务器端:127.0.0.1:8899
客户端:127.0.0.1:6666
我的问题是:在ManageThread这个方法的 client.Client.RemoteEndPoint 为什么得到的是 127.0.0.1:6666,而不是127.0.0.1:8899
...全文
评论
收藏 已收藏
分享
返回顶部
jianshao810
.NET Framework 17,748 成员 24,324 内容