1 UDP 协议进行通信 ——服务器端 1、 UDP 程序实例的基本使用情况和使用方法 这个系统由服务器程序 udps 和客户及程序 udpc 两个程序组成,如果从客户机出入一个特定命令,并将这个命令发送到 udps 中去处理,其执行结果将在客户机的屏幕上显示出来。 1、在执行程序的时候,首先启动一个服务器程序。 端口号是该服务器程序所指定的一个接收包的端口号,客户机必须向该处发送包。在执行上述程序后则执行下面的客户机程序 2、“服务器的 IP”也可以使用服务器的主机名或域名。 若两个程序在一台电脑上则服务器 IP 用 127.0.0.1;若不在一台电脑上则服务器的 IP 用其所在电脑的 IP(要求两台电脑能 Ping 通)。客户端输入的端口号必须是服务器指定的端口。 udpc udps 调用 C:\\Windows\\System32\\cmd2 输入命令 cmd2 显示结果 2 3、 客户机方可以输入 C:\\Windows\\System32\\下可执行的命令 如:help、arp、route print、quit 等 从键盘上输入的字符原封不动的发送给服务器程序后,在服务器程序中则执行该字符串相对应的命令,并将执行结果发送给客户机程序。 2 、 程序的执行实例和流程图 在这个实例中服务器的 IP 为白兰兰的 IP(125.219.181.97) 在客户机端输入 route print 命令,则显示服务器的路由寻址表如下(不全) 3 服务器端的信息 如果输入help 后没有任何反应,请确认udpc 程序所指定的IP 地址是否正确。若正确,再确认一下该IP 地址的主机udps 是否启动;再确认这些以后,如果执行udpc 程序仍没有任何显示,那么请使用ping命令来检查通信是否能够进行,因为UDP 协议属于无连接型通信,所以即使发生错误,也很难知道。 如果输入的命令一直是正确的,则只显示第一个命令,其余的都隐藏了。直到输入错误时,服务器端才有错误提示,如: 3 、 处理流程 无论是服务器端还是和客户端,首先都要初始化套接口环境再创建一个套接口,利用bind()系统调用来绑定端口号和 IP,只有这样才能使用UDP 协议发送和接收一个包,但时至次计算机网络中还没有传输任何一个包。 对于客户机而言,如果从键盘上输入命令,在客户机上执行sendto()系统调用,向服务器发送包,那么在发送包之后,客户机则执行recvfrom()系统调用,等待从服务器返回的报文。 如果服务器收到从客户机发来的报文,则调用execute()和 chulicom()函数。实质是调用C:\\Windows\\System32\\中的可执行程...