教程分享

关注:751

当前位置:足球投注 技术专区 教程分享

查看: 425|回复: 4
发新帖

[系列教程] TCP--网络异步连接(控制台程序)

[复制链接]  [移动端链接]
3偶尔光临
285/300
排名
10059
昨日变化
5

足球投注 www.zjrxh.com 21

主题

52

帖子

285

积分

Rank: 3Rank: 3Rank: 3

UID
257825
好友
2
蛮牛币
559
威望
0
注册时间
2017-12-4
在线时间
112 小时
最后登录
2018-4-22
跳转到指定楼层
楼主
发表于 2018-3-30 17:48:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册帐号

x
本帖最后由 A阎建杰 于 2018-4-3 09:03 编辑


服务器
[C#] 纯文本查看 复制代码
 class Program
    {
        static byte[] dataBuffer = new byte[1024];
        static void Main(string[] args)
        {
            StartServerAsync();
            Console.ReadKey();

        }
       static  void StartServerAsync()
        {
            Socket serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            //192.168.1.105   127.0.0.1
            IPAddress ipAddress = IPAddress.Parse("192.168.1.109");
            IPEndPoint ipEndPoint = new IPEndPoint(ipAddress, 880);
            serverSocket.Bind(ipEndPoint);//绑定IP和端口号
            serverSocket.Listen(0);//开始监听  0不限制
         
            serverSocket.BeginAccept(AcceptCallBack, serverSocket);
                
        }
        //回调方法  发送消息
        static void AcceptCallBack(IAsyncResult ar)
        {
            Socket serverSocket = ar.AsyncState as Socket;
            Socket clientSocket = serverSocket.EndAccept(ar);
            ///向客户端发送消息
            string msg = "Hello client!客户端你好。。。";
            byte[] data = System.Text.Encoding.UTF8.GetBytes(msg);
            clientSocket.Send(data);
            clientSocket.BeginReceive(dataBuffer, 0, 1024, SocketFlags.None, ReceiveCallBack, clientSocket);

            serverSocket.BeginAccept(AcceptCallBack, serverSocket);
        }
        //回调方法  接受消息
        static void ReceiveCallBack(IAsyncResult ar)
        {
            Socket clientSocket = null;
            try
            {
                clientSocket = ar.AsyncState as Socket;
                int count = clientSocket.EndReceive(ar);
                if (count==0)
                {
                    clientSocket.Close();
                    return;
                }
                string msg = System.Text.Encoding.UTF8.GetString(dataBuffer, 0, count);
                Console.WriteLine("从客户端接收到数据是"+ msg);
                clientSocket.BeginReceive(dataBuffer, 0, 1024, SocketFlags.None, ReceiveCallBack, clientSocket);
            }
            catch (Exception e)
            {
                //关闭
                if (clientSocket != null)
                {
                    clientSocket.Close();
                }
            }
            finally
            {
                
            }
           
        }
   
    }




客户端
[C#] 纯文本查看 复制代码
class Program
    {
        static void Main(string[] args)
        {
            Socket clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            clientSocket.Connect(new IPEndPoint(IPAddress.Parse("192.168.1.109"), 880));

            byte[] data = new byte[1024];
            int count = clientSocket.Receive(data);
            string msg=  System.Text.Encoding.UTF8.GetString(data, 0, count);
            Console.WriteLine(msg);
            while (true)
            {
               string s = Console.ReadLine();
                if (s=="c")
                {
                    clientSocket.Close();
                    return;
                }
               clientSocket.Send(System.Text.Encoding.UTF8.GetBytes(s));
            }
        }
    }




6蛮牛粉丝
1009/1500
排名
8296
昨日变化
81

0

主题

758

帖子

1009

积分

Rank: 6Rank: 6Rank: 6

UID
267381
好友
0
蛮牛币
1515
威望
0
注册时间
2018-2-1
在线时间
125 小时
最后登录
2018-4-22
沙发
发表于 2018-4-2 11:58:51 | 只看该作者
此帖仅作者可见

3偶尔光临
290/300
排名
35729
昨日变化
16

1

主题

177

帖子

290

积分

Rank: 3Rank: 3Rank: 3

UID
160799
好友
0
蛮牛币
42
威望
0
注册时间
2016-8-5
在线时间
106 小时
最后登录
2018-4-20
板凳
发表于 2018-4-2 15:19:41 | 只看该作者
此帖仅作者可见

2初来乍到
126/150
排名
14874
昨日变化
3

0

主题

50

帖子

126

积分

Rank: 2Rank: 2

UID
267103
好友
0
蛮牛币
248
威望
0
注册时间
2018-1-31
在线时间
34 小时
最后登录
2018-4-19

一贫如洗

地板
发表于 2018-4-4 08:30:49 | 只看该作者
此帖仅作者可见

2初来乍到
126/150
排名
14874
昨日变化
3

0

主题

50

帖子

126

积分

Rank: 2Rank: 2

UID
267103
好友
0
蛮牛币
248
威望
0
注册时间
2018-1-31
在线时间
34 小时
最后登录
2018-4-19

一贫如洗

5#
发表于 2018-4-9 09:22:14 | 只看该作者
此帖仅作者可见

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

快速回复 足球投注 返回列表
幸运农场开奖结果查询 | 870| 17| 882| 767| 797| 265| 585| 342| 611| 159|