我想更改udpclient receivebuffersize以防止接收udp數據包時發生緩衝區溢出。是否有可能改變它在C#中。實際的屬性是UdpClient.Client.ReceiveBufferSize。我必須使用其他方法嗎?是否有可能在c#中設置UdpClient ReceiveBufferSize屬性?
謝謝。
我想更改udpclient receivebuffersize以防止接收udp數據包時發生緩衝區溢出。是否有可能改變它在C#中。實際的屬性是UdpClient.Client.ReceiveBufferSize。我必須使用其他方法嗎?是否有可能在c#中設置UdpClient ReceiveBufferSize屬性?
謝謝。
您應該能夠執行以下操作:
UdpClient client = new UdpClient();
client.Client.ReceiveBufferSize = 4096;
我想我確實提到過我知道UdpClient.Client.ReceiveBufferSize。從http://msdn.microsoft.com/zh-cn/library/system.net.sockets.socket.receivebuffersize.aspx,ReceiveBufferSize僅用於tcpclient。我在我的udpclient中測試過,但沒有看到任何區別。實際上,我確信它不適用於udp。這就是爲什麼我在這裏問。 – 2010-11-12 20:17:00
其他人已經得到這個工作,看看這篇文章:http://stackoverflow.com/questions/2408212/how-can-i-set-the-buffer-size-for-the-underneath-socket-udp-c – SwDevMan81 2010-11-12 20:37:40
我不知道這是否會有所幫助,但它看起來像UdpClient
允許你提供自己的Socket
。在內部,UdpClient
創建Socket
有這樣的說法:
new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
在Connect()
,它會檢查是否Client
已經設置,如果是這樣,使用該Socket
連接。
您是否確定在創建'UdpClient'後直接設置ReceiveBufferSize](http://stackoverflow.com/a/9680672/709537),然後再做任何事情? – 2015-02-03 04:16:32