网络通信编程即编写通过计算机与其他程序之间进行通讯的程序,相互通信的程序中一方可以称为客户端程序,另一方称为服务程序,应用系统提供Socket编程接口可以编写自己的网络程序。
一 通过TCP/IP协议进行传输
TCP:为应用程序提供可靠的通信连接。适合一次传输大批的数据情况。并使用于要求得到的响应程序。
UDP:提供无线连接通信,且对传送包进行可靠性保证。适合一次传输少量的数据,可靠性则由应用层来负责。
二 Socket套接字
网络通信编程通过socket接口来进行的。socket接口是TCP/IP网络的API,包含了一整套的调用接口和数据结构定义,他给应用程序提供了如使用TCP/UDP等网络协议进行通讯的手段。
每一个socket都用一个半相关的描述(协议,本地地址,本地端口)来表示;一个完整的套接字则用一个相关描述(协议,本地地址,本地端口,远程地址,远程端口)来表示。
常见的socket有3种类型如下:流式套接字socket(SOCK_STREAM)
流式套接字提供面向连接的,可靠的数据传输服务,数据无差错,无重复的发送,且按发送顺序接收.
2.数据报套接字socke(SOCK_DGRSM)
数据报套接字定义了一种无连接的服务,数据通过相互独立的报文进行传输,是无序的,并且不保证是可靠,无差错的。
3原始套接字
允许对底层协议如IP或ICMP进行直接访问,它功能强大使用较为不便,主要用于一些协议的开发.
三 客户/服务模式
在TCP/IP网络应用中,通信的