public void ClosePort() { state=ThreadStates.STOP; listener.Close(); if(msocket!=null) msocket.Close(); }
public void ClosePort() { state = ThreadStates.STOP; listener.Close(); if (msocket != null) { msocket.Close(); } }
public void ThreadProc() { while (state != ThreadStates.STOP) { switch (state) { case ThreadStates.LISTEN: try { Listen(); } catch (Exception e) { state = ThreadStates.STOP; } break; case ThreadStates.RECIEVE: try { RecievePacket(); } catch (Exception e) { if (state != ThreadStates.STOP) { state = ThreadStates.LISTEN; } } break; } } if (blockthreadflag) { blockedthread.Resume(); } blockthreadflag = false; blockedthread = null; FreeSocket(); rmqueue = null; listener = null; }
public void Initialize(int mport) { rmqueue = Queue.Synchronized(new Queue(10)); mthread = new Thread(new ThreadStart(this.ThreadProc)); state = ThreadStates.LISTEN; isconnected = false; blockthreadflag = false; listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); listener.Bind(new IPEndPoint(IPAddress.Any, mport)); EchoMessage("listening on port " + ((IPEndPoint)listener.LocalEndPoint).Port.ToString() + " for " + devicename); listener.Listen(1); mthread.Start(); }
private void Listen() { FreeSocket(); rmqueue.Clear(); msocket = listener.Accept(); EchoMessage(devicename + " is connected."); mstream = new NetworkStream(msocket, true); isconnected = true; state = ThreadStates.RECIEVE; if (blockthreadflag) { blockthreadflag = false; blockedthread.Resume(); blockedthread = null; } }
public void Initialize(int mport) { rmqueue = Queue.Synchronized(new Queue(10)); mthread = new Thread(new ThreadStart(this.ThreadProc)); state=ThreadStates.LISTEN; isconnected=false; blockthreadflag = false; listener=new Socket(AddressFamily.InterNetwork, SocketType.Stream,ProtocolType.Tcp); listener.Bind(new IPEndPoint(IPAddress.Any,mport)); EchoMessage("listening on port " + ((IPEndPoint)listener.LocalEndPoint).Port.ToString() + " for " + devicename); listener.Listen(1); mthread.Start(); }
private void Listen() { FreeSocket(); rmqueue.Clear(); msocket = listener.Accept(); EchoMessage(devicename + " is connected."); mstream = new NetworkStream(msocket,true); isconnected =true; state = ThreadStates.RECIEVE; if(blockthreadflag){ blockthreadflag=false; blockedthread.Resume(); blockedthread=null; } }
public void ThreadProc() { while(state!=ThreadStates.STOP) { switch(state) { case ThreadStates.LISTEN: try { Listen(); } catch(Exception e){ state=ThreadStates.STOP; } break; case ThreadStates.RECIEVE: try { RecievePacket(); } catch(Exception e){ if(state!=ThreadStates.STOP) state=ThreadStates.LISTEN; } break; } } if(blockthreadflag) blockedthread.Resume(); blockthreadflag=false; blockedthread=null; FreeSocket(); rmqueue=null; listener = null; }