Exemplo n.º 1
0
        public void Connect()
        {
            try
            {
                var asyncReceive = new MessageAsyncReceive(msg);
                asyncReceive.BeginReceive(ReceiveCallback);

                if (mode == NetworkMode.Tcp)
                {
                    clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                    session      = new TcpSession(clientSocket, asyncReceive);
                    clientSocket.Connect(ip, port);
                }
                else if (mode == NetworkMode.Udp)
                {
                    clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
                    session      = new KcpSession(clientSocket, asyncReceive, clientSocket.RemoteEndPoint);
                    clientSocket.Connect(ip, port);
                    udpAsyncReceive = new AsyncReceive();
                    clientSocket.BeginReceiveFrom(udpAsyncReceive.Buffer, udpAsyncReceive.Offset, udpAsyncReceive.Size, SocketFlags.None, ref remoteEP, ReceiveFromCallback, null);
                    OnAsyncReceive += session.Receive;
                }
            }
            catch (Exception e)
            {
                Debug.LogWarning("Unable to connect to server, please check your network: " + e);
            }
        }
Exemplo n.º 2
0
 public Client(Socket clientSocket)
 {
     RemoteEndPoint      = clientSocket.RemoteEndPoint;
     messageAsyncReceive = new MessageAsyncReceive(msg);
     messageAsyncReceive.BeginReceive(ReceiveCallback);
     session   = new TcpSession(clientSocket, messageAsyncReceive);
     mySqlConn = ConnHelper.Connect();
 }
Exemplo n.º 3
0
 public Client(Socket serverSocket, EndPoint remoteEP)
 {
     RemoteEndPoint      = remoteEP;
     messageAsyncReceive = new MessageAsyncReceive(msg);
     messageAsyncReceive.BeginReceive(ReceiveCallback);
     session   = new KcpSession(serverSocket, messageAsyncReceive, remoteEP);
     mySqlConn = ConnHelper.Connect();
     ConsoleUtility.WriteLine("Connect: " + RemoteEndPoint.ToString(), ConsoleColor.Green);
 }