1

クライアント側のコーディング

TcpClient tcpclnt = new TcpClient("192.157.1.1", 8001);
Stream stm = tcpclnt.GetStream();
byte[] bites = new byte[dataLength];
    // assigning values for bites
stm.Write(clientdata, 0, clientdata.Length);

サーバー側のコーディング

 TcpListener listener = new TcpListener(IPAddress.Any, 8001);
 listener.Start(10);
 Socket soc = listener.AcceptSocket();
 byte[] bites = new byte[1000];
 int avail = soc.Available;
 int receivedBytesLen = soc.Receive(bites);

クライアントデータをストリームに書き込んだ後、サーバー側でも soc.Available はゼロです。そのため、サーバーはデータを読み取ることができません。何が問題ですか?

4

3 に答える 3

2

データはバッファリングされます。クライアントはもっと書く必要があります。または、ストリームを閉じます。

于 2011-02-01T09:44:24.017 に答える
-2

stm.Write(...)呼び出しを追加した後stm.Flush()、データがネットワークにフラッシュされます。

于 2011-02-01T09:43:21.570 に答える