コード例 #1
0
        public void ConnectSuccessful(Func <object, INetServer, PeerBase> AddPeerFunc, Packet packet)
        {
            SocketToKey.Add(packet.peer, (string)packet.state);
            PeerBase peer = AddPeerFunc(packet.peer, this);

            SocketList.Add(peer);
            SocketToEndPoint.Add(((Socket)packet.peer), ((Socket)packet.peer).RemoteEndPoint);
            ToPeer.Add(((Socket)packet.peer).RemoteEndPoint, peer);

            using (Packet newpacket = new Packet(packet.peer))
            {
                packet.BeginWrite(PacketType.CONNECT_SUCCESSFUL);
                packet.WriteSendData(new SendData(0, "On Connect"), (string)packet.state, EncryptAndCompress.LockType.AES);
                Send(packet, packet.peer);
            }
        }
コード例 #2
0
        //Socket服务监听
        void ListenSocket(object o)
        {
            Socket serverSocket = o as Socket;

            while (open)
            {
                acceptSocket = serverSocket.Accept();
                SocketList.Add(acceptSocket);
                ShowMsg("连接成功!");
                //创建新线程,执行接收消息的方法
                Thread thread2 = new Thread(Received)
                {
                    IsBackground = true
                };
                thread2.Start(acceptSocket);
            }
        }