コード例 #1
0
 public void RegistMessageHandler(int id, Action <byte[]> messageHandler)
 {
     if (!m_MessagHandlerDic.ContainsKey(id))
     {
         m_MessagHandlerDic.Add(id, messageHandler);
     }
     else
     {
         NetLogger.LogError(NetUtil.CLIENT_LOG_TAG, "The handler has been added.id = " + id);
     }
 }
コード例 #2
0
 public void SendWith(Socket socket, byte[] bytes)
 {
     if (IsConnected && socket.Connected)
     {
         socket.BeginSend(bytes, 0, bytes.Length, SocketFlags.None, OnSended, socket);
     }
     else
     {
         NetLogger.LogError(logTag, "the net is disconnected");
     }
 }
コード例 #3
0
        public bool Connect(string ipString, int port)
        {
            if (m_ClientSocket != null)
            {
                NetLogger.LogError(NetUtil.CLIENT_LOG_TAG, "The socket has been created");
                return(false);
            }

            m_ClientSocket               = new TcpClientSocket();
            m_ClientSocket.OnConnect    += OnConnected;
            m_ClientSocket.OnReceive    += OnReceived;
            m_ClientSocket.OnDisconnect += OnDisconnected;

            Status = ClientNetworkStatus.Connecting;

            m_ClientSocket.Connect(IPAddress.Parse(ipString), port);

            return(true);
        }
コード例 #4
0
        public void Listen(int port, int backlog = 100)
        {
            socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

            try
            {
                socket.Bind(new IPEndPoint(IPAddress.Any, port));
                socket.Listen(backlog);
                IsConnected = true;

                NetLogger.LogInfo(logTag, $"Listening on port {port}...");

                Accept();
            }
            catch (Exception ex)
            {
                socket = null;
                NetLogger.LogError(logTag, $"Listen failed.message = {ex.Message}");
            }
        }
コード例 #5
0
        void OnConnected(IAsyncResult ar)
        {
            var socket = (Socket)ar.AsyncState;

            try
            {
                socket.EndConnect(ar);

                NetLogger.LogInfo(logTag, "Connected");

                OnConnect?.Invoke(this, null);

                StartReceiving(socket);
            }
            catch (Exception ex)
            {
                NetLogger.LogError(logTag, $"Connected failed .message = {ex.Message}");

                TriggerOnDisconnect();
            }
        }