送信バッファサイズに制限はありますが、私は小さなパックを送ることができます-ie:1000バイト- 約20Kを送信しようとすると何も起こりません、リモートはパケットを受信しません プラスリモートは、 。Socket.Sendのバッファサイズは制限されていますか?
System.Net.Sockets.Socket.Send((byte)buffer);
送信バッファサイズに制限はありますが、私は小さなパックを送ることができます-ie:1000バイト- 約20Kを送信しようとすると何も起こりません、リモートはパケットを受信しません プラスリモートは、 。Socket.Sendのバッファサイズは制限されていますか?
System.Net.Sockets.Socket.Send((byte)buffer);
docsの状態では、this methodは送信されたバイト数を返します。残ったバイトを送信するのはあなたの責任です。
バッファは、1024であった: 'socket.BeginReceive(sm.m_StreamManager.m_Buffer、0、BUFFER_SIZE_1024、0、 \t \t \t \t \t \t \t \t新しいAsyncCallback(this.ReadCallback)、sm); ' –
Send()は送信されたバイト数を示すInt32を返します。したがって、バッファサイズの上限がInt32.MaxValueであると推測できます。
なぜ20kバイトのバッファに問題があるのでしょうか?推測するには十分な情報を提供していません。
MSDNによると、Socket.SendBufferのデフォルトバッファサイズは8192です。必要に応じてこれを増やすことができます。
tcpSocket.SendBufferSize = 8192;
「パケット」はUDP用語です。 UDPは最小MTUに制限される:http://en.wikipedia.org/wiki/Maximum_transmission_unit –