请教一个Socket发送的问题
Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
IPEndPoint ipe = new IPEndPoint(IPAddress.Parse("192.168.1.234"), 11100);
sock.Connect(ipe);
string s = "欢迎光临";
byte[] msg = Encoding.UTF8.GetBytes(s);
sock.Send(msg);
我想做一个Tcp长连接,所以发送消息后,没有把sock关闭,第一次发送时服务器能接收到,但是,我在下面的继续调用sock.Send(msg);服务器却没有收到消息,请问这是怎么回事?服务器要怎样才能正常的接受数据?
服务器端接收的代码如下:
string data = "";
byte[] bytes = new Byte[1024];
IPHostEntry ipHostInfo = Dns.Resolve(Dns.GetHostName());
IPAddress ipAddress = ipHostInfo.AddressList[0];
IPEndPoint localEndPoint = new IPEndPoint(ipAddress, 11100);
Socket listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
try
{
listener.Bind(localEndPoint);
listener.Listen(10);
while (true)
{
Socket handler = listener.Accept();
bytes = new byte[1024];
int bytesRec = handler.Receive(bytes);
data = Encoding.UTF8.GetString(bytes, 0, bytesRec);
}
.......