我有一个连接到套接字服务器的服务(都是C#)。服务连接并成功将数据发送到套接字服务器,但在socket.Receive(receivedBytes);
- 行上“冻结”。当它们位于不同的服务器上时会发生这种情况。当两者(服务和套接字服务器)在同一台机器上时 - 它可以工作。在套接字服务器中,我在服务的服务器上打开了TCP端口,入站和出站,我打开了TCP端口,仅限入站。这是服务方面的代码:
byte[] receivedBytes = new byte[1024];
IPHostEntry ipHost = Dns.GetHostEntry(socketHost);
IPAddress ipAddress = ipHost.AddressList[0];
IPEndPoint ipEndPoint = new IPEndPoint(ipAddress, socketPort);
Socket sender = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
sender.Connect(ipEndPoint);
byte[] forwardMessage = Encoding.ASCII.GetBytes(msg);
sender.Send(forwardMessage);
int totalBytesReceived = sender.Receive(receivedBytes);
sender.Shutdown(SocketShutdown.Both);
sender.Close();
我想念的是什么?我应该做任何其他安全配置吗?
谢谢!