两台服务器之间的C#套接字通信

时间:2016-10-26 14:09:31

标签: c# sockets tcp

我有一个连接到套接字服务器的服务(都是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();

我想念的是什么?我应该做任何其他安全配置吗?

谢谢!

0 个答案:

没有答案