首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

c# socket连接的有关问题

2012-03-18 
c# socket连接的问题原来使用下面代码连接是没有问题的,但是对方端口从9811改为98111后,就在IPEndPoint IP

c# socket连接的问题
原来使用下面代码连接是没有问题的,但是对方端口从9811改为98111后,就在IPEndPoint IPEd = new ……这句出错,说98111对ToInt16太大,改为Convert.ToInt32还是提示错误,提示指定的参数已超出有效值范围 参数名:port。但98111没有超出Int32的范围,IPEndPoint的port参数也应该是接受Int32的,请问是什么原因,有什么办法解决?麻烦了!!!!
private void SockConnection()
  {
  try
  {
  sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
  sock.SendTimeout = 10000;
  sock.ReceiveTimeout = 10000;
  MessageBox.Show(Convert.ToInt32(global.BHport.ToString()).ToString());
  IPEndPoint IPEd = new IPEndPoint(IPAddress.Parse(global.BHip.ToString()),Convert.ToInt16(global.BHport.ToString()));
  sock.Connect(IPEd);
  }
  catch (Exception SConn)
  {
  MessageBox.Show(SConn.ToString(), "数据连接错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
  }
  }

[解决办法]
端口数最大可以到65535,也就是Int16的最大值,你的98111是不行的!
[解决办法]
計算機的端口就那么多了吧﹐還訪問什么65535以后的端口?

热点排行