天天看点

网络编程相关概念

协议:相互通信的程序间达成的一种约定,规定了分组报文的交换方式和报文的含义。

TCP/IP 协议也称为TCP/IP协议族,既能用于互联网,也能在独立的专用网络中使用。TCP/IP协议族主要协议有:IP协议(Internet Protacol 互联网协议),TCP协议(Transmission Control Protocol,传输控制协议)和UDP(User Datagram Protocol,用户数据报协议)。IP协议属于网络层,它使两个主机间的一系列通信信道和路由器看起来像是单独一条主机到主机的通道。TCP和UDP位于传输层建立与IP层所提供的服务基础上,用户可根据不同需求选择TCP或UDP,它们有一个共同功能:寻址,它们使用端口号(Port number)来区分同一主机中的不同应用程序。但TCP协议能够检测和恢复IP层提供的主机到主机的信道中可能发生的报文丢失,重复及其他错误。而UDP协议并补偿是对IP层产生的错误进行修复,仅仅简单的拓展了IP协议的“尽力而为”的数据服务,是它能够在应用程序之间工作,而不是主机之间工作,使用UDP协议的应用程序必须为处理报文丢失,顺序混乱的问题做好准备。

客户端和服务端:客户端是通信的发起者,服务端则是被动等待客户端发起通信,并对其作出响应。

套接字(socket):应用程序通过它来发送和接收数据,就如应用程序打开一个文件句柄,将数据写到稳定的存储器上一样。TCP/IP中主要的socket类型为流套接字(stream socket)和数据报套接字(datagram socket),流套接字使用TCP协议,提供一个可信赖的字节流服务,数据报套接字使用UDP协议提供一个“尽力而为”的数据服务。

继续阅读