实现多个TCP通信 接收数据,只能通信最后这个IP,请大神看看问题

weixin_37971462 2017-10-27 10:39:27
var clientHostList = new string[] { "192.168.1.175", "192.168.1.150" };
var port = 8000;
foreach (string host in clientHostList)
{
var st = host;
IPAddress ipAddress = IPAddress.Parse(st);
EndPoint Info = new IPEndPoint(ipAddress, Convert.ToInt32(port));
socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
cs.Add(socket);
socket.Connect(Info);
socket.BeginReceive(buffer, 0, buffer.Length, SocketFlags.None, new AsyncCallback(ReceiveCallBack), null);
}
第一个IP执行回调函数时报错,通信第个最后一个IP就能接收到数据
private void ReceiveCallBack(IAsyncResult AR)
{
try
{
int REnd = socket.EndReceive(AR);//报错的地方: 未从此类上对应的异步方法中返回 IAsyncResult 对象;
if (REnd > 0)
{
NetInvoke mi = new NetInvoke(UpdateView);
this.BeginInvoke(mi);
}
if (socket != null)
socket.BeginReceive(buffer, 0, buffer.Length, 0, new AsyncCallback(ReceiveCallBack), null);
}
catch(Exception e)
{
MessageBox.Show(e.Message);
}
}
...全文
613 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
X-i-n 2017-10-27
  • 打赏
  • 举报
回复
0分?你在搞笑吗?
X-i-n 2017-10-27
  • 打赏
  • 举报
回复
注意变量的作用域。 socket和 buffer
weixin_37971462 2017-10-27
  • 打赏
  • 举报
回复
自顶。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

4,356

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧