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); } }
public Client(Socket clientSocket) { RemoteEndPoint = clientSocket.RemoteEndPoint; messageAsyncReceive = new MessageAsyncReceive(msg); messageAsyncReceive.BeginReceive(ReceiveCallback); session = new TcpSession(clientSocket, messageAsyncReceive); mySqlConn = ConnHelper.Connect(); }
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); }