public TCPListener(string ip, int port, int maxBufferMessage, OnAcceptHandler onAcceptHandler, OnReceivedHandler onReceivedHandler, OnDisconnectHandler onDisconnectHandler) { _onReceivedHandler = onReceivedHandler; _onAcceptHandler = onAcceptHandler; _onDisconnectHandler = onDisconnectHandler; _ipAddress = IPAddress.Any; _server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); _port = port; _server.ReceiveBufferSize = maxBufferMessage; _server.SendBufferSize = maxBufferMessage; _buffer = new byte[maxBufferMessage]; }
/// <summary> /// Add a new method to be called when the ondisconnect request is submitted /// </summary> public void RegisterOnDisconnectTask(OnDisconnectHandler activity) { onDisconnectActivities.Add(activity); }
public void Connect(ClientID varClientID, string ip, int tcpPort, int udpPort, OnConnectHandler onConnect, OnDisconnectHandler onDisconnect) { int id = (int)varClientID; if (mClientDic.ContainsKey(id)) { Client client = mClientDic[id]; mClientDic.Remove(id); client.Disconnect(); } Client c = new Client(); c.onConnect += onConnect; c.onDisconnect += onDisconnect; c.onDebug += onDebug; c.onMessage += OnMessage; c.Connect(ip, tcpPort, udpPort); mClientDic.Add(id, c); }