原来使用下面代码连接是没有问题的,但是对方端口从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);
}
}
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);
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货