套接字端口,使多个TCP连接和多个应用程序传输数据。
常用的TCP/IP协议有3种套接字类型。流套接字(SOCK_STREAM),面向连接、可靠的数据传输服务;数据包套接字(SOCK_DGRAM),一种无连接的服务;原始套接字(SOCK_RAW),与标准套接字的区别在于可以读写内核没有处理的IP数据包。
区别不同的应用程序进程间的网络通信和连接,主要有三个参数:通信的目的IP地址、使用的传输协议和使用的端口号。
如果使用CSocket类,则必须使用流。如果将套接字类型指定为SOCK_DGRAM,则MFC断言失败。
根据连接启动的方式以及本地要连接的目标,套接字之间的连接过程可以分为三个步骤:服务器监听、客户端请求、连接确认。
使用套接字进行数据处理有两种基本模式,同步和异步。同步模式在通过Socket进行连接、接收、发送数据时,客户机和服务器在接收到对方响应前会处于阻塞状态,即一直等待收到对方的请求进才继续执行下面的语句。异步模式在通过Socket进行连接、接收、发送数据时,客户机或服务器不处于阻塞状态,利用callback机制进行连接、接收、发送处理,这样可以在调用发送和接收的方法后直接返回,并继续执行下面的程序。