SOCKET通信问题 求大佬瞄一眼给个建议

weixin_37971462 2017-10-27 10:28:15
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 175通信时报错,只有第二个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);
}
}
求大佬给点意见,谢谢
...全文
173 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_37971462 2017-10-27
  • 打赏
  • 举报
回复
感谢大神 非常感谢
白衣如花 2017-10-27
  • 打赏
  • 举报
回复
把socket作为参数传进去把 你接收的是175的反馈,但是此时socket连接的是150
socket.BeginReceive(buffer, 0, buffer.Length, SocketFlags.None, new AsyncCallback(ReceiveCallBack), socket);



Socket socket= AR.AsyncState as Socket;
int REnd = socket.EndReceive(AR);

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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