传真群发网络通信的基石是套接字
传真群发网络通信的基石是套接字,一个套接字就是通信的一端,它提供了一种发送和接收数据的机制。套接字主要有两种形式:流式套接字(Stream Sockets)和数据报套接字(dat Sockets Sockets)。流式套接字应用TCP协议,定义了一种可靠的面向连接的服务,它提供双向的、有序的、无重复并且无记录边界的数据流服务。数据报套接字应用UDP协议,它支持双向的数据流,由于不是基于连接的服务,并不保证服务是可靠的、有序的。数据报套接字大多数应用程序使用一个时间序列来完成客户应用的服务器应用程序间的通信。由于取消了重发校验机制,能够达到较高的通信速率,可以用在对客户可靠性要求不太高、但对实时性要求较高的通讯场合。因此,在实时IP群发传真网关网络通信部分的网络传真软件设计中,为了保证 实时性的要求,采用数据报式套接字。
电子传真软件数据报套接字再传输数据之前,客户方和服务器方各自初始化winsock并创建自己的套接字sockey,利用bind函数绑定网络IP地址。在数据传输过程中,分别利用send/recv函数来发送、接收数据。网络传真数据传输结束或者通讯过程发生错误时可以调用ciosesockket关闭套接字,并推出服务,具体内容做出流层图所示。
服务器方 客户方
Socket() socket()
Bind() bind()
Recv()send() send()recv()
Closesocket() closesocket()