C# socket无法连接和如何从某通信服务器接收数据

内网串口服务器将串口数据转换成网络数据,ip192.168.100 发送端口500 接收端口600

//定义发送数据缓存
byte[] data = new byte[1024];
string input, stringData;

IPAddress ip = IPAddress.Parse("192.168.100 ");

IPEndPoint ipEnd = new IPEndPoint(ip, 500);
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

try

{
socket.Connect(ipEnd);
}
catch (SocketException ee)

{
textBox1.Text = "Fail to connect server";
richTextBox1 .Text =ee.ToString();
return;
}
int recv ;

while (true)

{
if (kg == 1) //初始值为0,需要时通过其它方式设置为1来停止程序运行。

{
break;
}
data = new byte[1024];

recv = socket.Receive(data);

stringData = Encoding.ASCII.GetString(data, 0, recv);

richTextBox1.Text += "\n" + stringData;
}

//Console.Write("disconnect from server");
socket.Shutdown(SocketShutdown.Both);
socket.Close();
运行后错误,提示:System.Net.Sockets.SocketException: 由于目标机器积极拒绝,无法连接。
请问为什么呢?
这个接收程序对吗?
谢谢!

服务器端发送端口与接收端口是多少与你无关,你只要得到服务器的监听端口就可以与之连接,按你这样说那个600应该是监听的吧追问

运行后错误,提示:System.Net.Sockets.SocketException: 由于目标机器积极拒绝,无法连接。
请问为什么呢?
这个接收程序对吗?

追答

你改成600端口试过没?如果还是估计是服务那边问题了,你这个程序看似是没问题的

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答