Esempio n. 1
0
        private static void serverFunc(object obj)
        {
            Socket svrSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

            IPAddress ipAddress = GetCurrentIPAddress();

            if (ipAddress == null)
            {
                Console.WriteLine("No Lan card for IPv4");
                return;
            }
            else
            {
                Console.WriteLine("Get IP : {0}", ipAddress.ToString());
            }
            IPEndPoint endPoint = new IPEndPoint(ipAddress, 11200);

            svrSocket.Bind(endPoint);
            svrSocket.Listen(10);

            while (true)
            {
                Socket clntSocket = svrSocket.Accept();

                AsyncStateData data = new AsyncStateData();
                data.Buffer = new byte[1024];
                data.Socket = clntSocket;

                clntSocket.BeginReceive(data.Buffer, 0, data.Buffer.Length, SocketFlags.None, asyncReceiveCallback, data);
            }
        }
Esempio n. 2
0
        private static void asyncReceiveCallback(IAsyncResult asyncReulst)
        {
            try
            {
                AsyncStateData rcvData = asyncReulst.AsyncState as AsyncStateData;
                int            nRecv   = rcvData.Socket.EndReceive(asyncReulst);
                string         txt     = Encoding.UTF8.GetString(rcvData.Buffer, 0, nRecv);

                byte[] sendBytes = Encoding.UTF8.GetBytes("Hello: " + txt);
                rcvData.Socket.BeginSend(sendBytes, 0, sendBytes.Length, SocketFlags.None, asyncSendCallback, rcvData.Socket);
            }
            catch (SocketException)
            {
            }
        }