C#网络通信
1·通信模型
- TCP七层模型
- OSI五层模型
- 协议:数据通信的标准,规定数据的格式,传递、接收的双方都在按照这个格式对数据进行处理
2·建立服务器与客户端
- IPEndPoint类
- 是抽象类EndPoint的实现类
- Socket对象的RemoteEndPoint、LocalEndPoint都是这个类型
- 属性Address:使用IPV4表示的地址
- 属性Port:使用int表示的端口
- Socket类
- 可用于服务器端的开发也可用于客户端的开发
- 构造方法
- 参数AddressFamily:指定使用IPV4的地址(InterNetwork)
- 参数SocketType:指定使用传输方式(流式Stream)
- 参数ProtocolType:指定协议类型(TCP)
- 方法Bind():绑定IP与端口,然后就可以作为服务器监听特定端口
- 方法Listen():置于监听状态参数是最大挂起数
- 方法Accept():接收客户端连接,返回Socket对象,这个方法会阻塞当前线程,建议开启新线程执行此方法,结合尾递归,就可以接收多个客户端
- 方法Receive():接收客户端发过来的信息,以字节为单位进行操作,这个方法会阻塞当前线程,建议开启新线程执行此方法,结合尾递归,就可以持续接收多条消息
- 方法Send():以字节为单位发送消息