public void Run() { m_socket = new MicroSocket(); //Console.Write("-"); s_connectingSockets++; IPAddress baal = IPAddress.Parse("127.0.0.1"); IPAddress torturer = IPAddress.Parse("192.168.1.1"); if (m_socket.Connect(baal, 12345) == false) { Console.WriteLine("Connection failed"); return; } s_connectingSockets--; s_connectedSockets++; /* while (s_connectedSockets < 500) MicroThread.CurrentThread.Sleep(1000); */ //Console.Write("."); long sentBlocks = 0; byte[] buf = new byte[m_blockSize]; while (true) { m_socket.Send(buf, buf.Length); sentBlocks++; s_totalBlocksSent++; if (sentBlocks >= m_blocksToSend) break; } //Console.Write("x"); s_connectedSockets--; m_socket.Shutdown(); m_socket.Close(); }
public MicroSocket Accept() { Print("Begin accepting"); m_readCS.Enter(); m_readingThread = MicroThread.CurrentThread; m_readingThread.Wait(); m_readingThread = null; m_readCS.Exit(); Print("Accept returned"); Socket newSocket = m_socket.Accept(); MicroSocket s = new MicroSocket(newSocket); return(s); }
public static void ListenRun() { MicroSocket listenSocket = new MicroSocket(); IPEndPoint ep = new IPEndPoint(IPAddress.Any, 12345); listenSocket.Bind(ep); listenSocket.Listen(10); while (true) { MicroSocket socket = listenSocket.Accept(); //Console.WriteLine("Accepted a new socket"); //Console.Write("."); s_connectedSockets++; Server server = new Server(socket); MicroThread t = new MicroThread(server.SocketRun); t.Start(); } }
public Server(MicroSocket s) { m_socket = s; }
public MicroSocket Accept() { Print("Begin accepting"); m_readCS.Enter(); m_readingThread = MicroThread.CurrentThread; m_readingThread.Wait(); m_readingThread = null; m_readCS.Exit(); Print("Accept returned"); Socket newSocket = m_socket.Accept(); MicroSocket s = new MicroSocket(newSocket); return s; }
internal static void RemoveSocket(MicroSocket s) { s_socketList.Remove(s); s_socketMap.Remove(s.Socket); }
internal static void AddSocket(MicroSocket s) { s_socketList.Add(s); s_socketMap[s.Socket] = s; }