上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
第2章 套接字编程
套接字是支持TCP/IP协议的网络通信的基本操作单元。可以将套接字看做不同主机间的进程进行双向通信的端点,它构成了单个主机内及整个网络间的编程界面。套接字存在于通信域中,通信域是为了处理一般的线程(通过套接字通信)而引进的一种抽象概念。套接字通常和同一个域中的套接字交换数据(数据交换也可能穿越域的界限,但这时一定要执行某种解释程序)。各种进程使用这个相同的域,互相之间用Internet协议进行通信。
套接字可以根据通信性质进行分类,这种性质对用户是可见的。应用程序一般仅在同一类的套接字间进行通信。不过只要底层的通信协议允许,不同类型的套接字间也照样可以通信。套接字有两种不同的类型:流套接字和数据报套接字。
要通过互联网进行通信,至少需要一对套接字,其中一个运行于客户端,称为Client-Socket,另一个运行于服务器端,称为ServerSocket。
Socket相当于进行网络通信两端的插座,只要对方的Socket和自己的Socket有通信联接,双方就可以发送和接收数据,其定义类似于文件句柄的定义。
本章介绍C#下实现套接字(Sockets)编程的一些基本知识。