/** * 返回连接的socket */ public judpSocket Accept() { UDTSocket socket = SocketControls.GetInstance().GetSocket(); if (socket == null) { //再次获取下一个 socket = SocketControls.GetInstance().GetSocket(); } //包装 judpSocket jsocket = new judpSocket(socket); judpSocketManager.GetInstance(socket.GetEndpoint()).AddSocket(jsocket); return(jsocket); }
/** * 立即关闭,shutdown取代 */ public void Stop() { //没有发送则可以直接关闭,不需要等待数据发送完成 try { socket.Close(); UDTSession serversession = socket.GetEndpoint().RemoveSession(socketID); if (serversession != null) { serversession.Socket.Close(); socket.GetReceiver().Stop(); socket.GetSender().Stop(); Console.WriteLine("物理关闭socket:" + serversession.SocketID); } serversession = null; } catch (IOException e) { Console.WriteLine(e); } Console.WriteLine("物理关闭socket"); }