2010年5月2日 星期日

[.NETCF]How to setting Send/Receive buffer with .NET Socket

在Windows中,我們可以透過直接設定Socket的屬性,來改變Buffer的大小.
Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP);
s.SendBufferSize = 102400;
s.ReceiveBufferSize = 102400;
(Default value is 8192)

這樣一來就可以改變緩衝區的大小,就可避免因為傳送封包太大,被切割成小封包傳送.
這樣可降低接收端的演算法難度.

但是在Visual Studio 2005及.NET CF2.0中,並沒有SendBufferSize及ReceiveBufferSize屬性
那我們要如何設定呢?
s.SetSocketOption(SocketOptionLevel.Socket,SocketOptionName.ReceiveBuffer, 102400);
s.SetSocketOption(SocketOptionLevel.Socket,SocketOptionName.SendBuffer, 102400);

只要如此設定,同樣可達到我們的目的.

沒有留言:

張貼留言

嘎嘎嘎