[Mono-list] Fail to set socket send&receive timeout!
Gonzalo Paniagua Javier
gonzalo at ximian.com
Wed Dec 21 22:40:56 EST 2005
On Mon, 2005-12-19 at 18:47 +0800, Li wrote:
> hello sir,
> With your advice I update my redhat9 to fedral4(kernel 2.6.11), but the socket still can't be set timeout property. What is wrong with it? And I also have a problem with Process.GetProcesses(), it can't get all processes in current machine.
> Would you do me a favor to help me again please? Thank you very much!
> Here is the source code:
>
> using System;
> using System.Net.Sockets;
> using System.Net;
> using System.Runtime.InteropServices;
> using System.IO;
> using System.Diagnostics;
> namespace CommTest
> {
> class Class1
> {
> [STAThread]
> static void Main(string[] args)
> {
> //it can't work in fedral core 4(kernel 2.6.11),but works well in winXP
> Socket TCPSocket=new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
> //following 2 functions cause a exception:non-block socket would block
> TCPSocket.SetSocketOption(SocketOptionLevel.Socket,SocketOptionName.SendTimeout,1000);
> TCPSocket.SetSocketOption(SocketOptionLevel.Socket,SocketOptionName.ReceiveTimeout,1000);
You have to Connect() or Accept() before setting the timeout.
-Gonzalo
More information about the Mono-list
mailing list