博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.Net网络编程——服务端获取客户端连接
阅读量:6000 次
发布时间:2019-06-20

本文共 2013 字,大约阅读时间需要 6 分钟。

一,客户端服务端连接图示

         其中,在客户端和服务端的socket中,都报存这连接的信息;客户端通过connect连接,服务端可以调用AcceptTcpClient来获取链接到服务端的客户端,每一个客户端和服务端的连接都对应这唯一一个Socket.

二,服务端获取连接示例

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Net;using System.Net.Sockets;namespace 获取单一客户端连接{    class Program    {        static void Main(string[] args)        {            #region 获取单一客户端连接                //Console.WriteLine("服务端启动啦啦啦。。");                //IPAddress ip = new IPAddress(new byte[] { 127, 0, 0, 1 });                //TcpListener listener = new TcpListener(ip, 8500);                //listener.Start();                //Console.WriteLine("服务端开始监听8500。。。。");                获取一个连接,中断方法                //TcpClient remoteClient = listener.AcceptTcpClient();//获取一个与客户端的连接,同时它返回一个TcpClient类型示例,此时它所包装的是由服务端去往客户端的socket(这是一个block method)                打印连接到客户端的信息                //Console.WriteLine("客户端连接成功。本地:{0}------>客户端{1}", remoteClient.Client.LocalEndPoint, remoteClient.Client.RemoteEndPoint);            #endregion            #region 获取多个客户端的连接                Console.WriteLine("服务端启动啦啦啦。。");                IPAddress ip = new IPAddress(new byte[] { 127, 0, 0, 1 });                TcpListener listener = new TcpListener(ip, 8500);                listener.Start();                Console.WriteLine("服务端开始监听8500。。。。");                while (true)                {                    /*                        将服务端放入一个始终执行的循环中。                                          */                    //获取一个连接,中断方法                    TcpClient remoteClient = listener.AcceptTcpClient();//获取一个与客户端的连接,同时它返回一个TcpClient类型示例,此时它所包装的是由服务端去往客户端的socket(这是一个block method)                    //打印连接到客户端的信息                    Console.WriteLine("客户端连接成功。本地:{0}------>客户端{1}", remoteClient.Client.LocalEndPoint, remoteClient.Client.RemoteEndPoint);                }                                       #endregion        }    }}

            PS:AcceptTcpClient是一个同步的方法,对比AJAX的异步,可以发现如果服务端获取不到客户端的连接,就会一直阻塞在这里,而不是像AJAX请求数据的时候,下面的东西可以继续,成功后回调。

你可能感兴趣的文章
初识python:time 模版
查看>>
mysql慢查询日志分析工具mysqldumpslow
查看>>
4.09.1
查看>>
电话本管理程序(实现增删改查功能)
查看>>
LOCK_TIMEOUT
查看>>
Python脱产8期 Day29 2019/5/24
查看>>
学c#语言的感想
查看>>
Windows 驱动模型的发展历史
查看>>
Android视图的截图
查看>>
App列表之分组ListView
查看>>
Android&iOS崩溃堆栈上报
查看>>
关于iOS开发的各种证书
查看>>
【Openjudge】 算24
查看>>
lvreduce -L 1000M /dev/vg0/lv0 表示最后缩减至多大,不是减少了多大
查看>>
ES 自动恢复分片的时候不恢复了是磁盘超过了85%,然后不恢复了 ES可以配置多个数据目录...
查看>>
linux查杀病毒的几个思路
查看>>
宽带速度
查看>>
构建之法阅读笔记5
查看>>
Android判断网络连接状态
查看>>
leetcode_1033. Moving Stones Until Consecutive
查看>>