示例#1
0
        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);
 }
示例#3
0
        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);
        }