Socket网络编程基础
来源:互联网 发布:苏联 知乎 编辑:程序博客网 时间:2024/05/10 18:52
Socket通常叫做套接字,用于描述IP和端口,是通讯链]的句柄。和线程一样,本身并不是直接对数据进行处理,而是调用系统的套接字对信息进行处理。
Socket类在System.Net. Socket命名空间下.
当使用IP和IPaddress等时,要导入System.Net命名空间。
通讯的基本流程:
客户端:准备IP和端口-----把IP端口绑定到网络节点-----创建一个Socket通讯套接字-----Socket通过网路节点需求连接到服务端-----服务端连接成功----通讯套接字发送(接收)消息
服务端:创建监听套接字----获得客户端IP端口节点-----绑定节点---设置监听队列长度---------开始监听客户端连接需求(监听到需求后产生一个负责通讯的套接字)-------客户端连接成功----通讯套接字发送(接收)消息
Socket 类为网络通信提供了一套丰富的方法和属性。Socket类允许使用 ProtocolType 枚举中所列出的任何一种协议执行异步和同步数据传输
如果应用程序在执行期间只需要一个线程,使用下面的方法,这些方法适用于同步操作模式。
•如果当前使用的是面向连接的协议(如 TCP),则服务器可以使用 Listen 方法侦听连接。Accept 方法处理任何传入的连接需求,并返回可用于与远程主机进行数据通信的 Socket。可以使用此返回的 Socket 来调用 Send 或 Receive 方法。如果要指定本地 IP 地址和端口号,需在调用 Listen 方法之前先调用 Bind 方法。如果希望基础服务提供程序为您分配可用端口,需使用端口号 0。如果希望连接到侦听主机,需调用 Connect 方法。若要进行数据通信,需调用 Send 或Receive 方法。
•如果当前使用的是无连接协议(如 UDP),则根本不需要侦听连接。调用 ReceiveFrom 方法可接受任何传入的数据报。使用 SendTo 方法可将数据报发送到远程主机。
若要在执行过程中使用单独的线程处理通信,使用下面的方法,这些方法适用于异步操作模式。
•如果当前使用的是面向连接的协议(如 TCP),则可使用 Socket、BeginConnect 和 EndConnect 方法来连接侦听主机。通过使用 BeginSend 和 EndSend 方法,或者使用 BeginReceive 和 EndReceive 方法,可以进行异步数据通信。可以使用 BeginAccept 和 EndAccept 处理传入的连接需求。
•如果使用的是 UDP 等无连接协议,则可以使用 BeginSendTo 和 EndSendTo 来发送数据报,而使用 BeginReceiveFrom 和 EndReceiveFrom 来接收数据报。
如果对一个套接字执行多个异步操作,它们不一定按启动时的顺序完成。
当数据发送和数据接收完成之后,可使用 Shutdown 方法来禁用 Socket。在调用 Shutdown 之后,可调用 Close 方法来释放与 Socket 关联的所有资源。
- Socket网络编程基础
- socket网络编程基础
- SOCKET网络编程基础
- Socket网络编程基础
- 网络编程-socket基础
- socket网络编程基础
- socket网络编程基础
- socket网络编程基础
- 网络编程基础--Socket
- socket网络编程基础
- Socket网络编程基础
- 网络编程基础-socket基础
- Java Socket网络编程基础
- 网络通信Socket编程基础
- 网络编程的socket基础
- socket网络编程基础小记
- socket网络编程基础篇
- socket网络编程api基础
- 序员遇到Bug时,最常说的30句话
- 修改host文件
- u-boot镜像Image中有关结构体
- c linux socket http get
- Mysql Innodb的两种表空间方式 共享空间和独立空间
- Socket网络编程基础
- 归并排序算法
- Liunxx兴趣小组笔记
- mysql共享表空间和独立表空间 优缺点
- hdu 1264 Counting Squares
- 冒泡排序法之分析过程
- Python 中列表 元组 字典的区别
- DropDownList控件显示年份示例
- 52. 让项目自己说话