没有合适的资源?快使用搜索试试~ 我知道了~
UDP 协议通信服务器端客户端.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 89 浏览量
2022-07-06
13:14:57
上传
评论
收藏 605KB DOC 举报
温馨提示
试读
25页
UDP 协议通信服务器端客户端
资源推荐
资源详情
资源评论
UDP 协议进行通信
——服务器端
1、 UDP 程序实例的基本使用情况和使用方法
这个系统由服务器程序 udps 和客户及程序 udpc 两个程序组成,如
果从客户机出入一个特定命令,并将这个命令发送到 udps 中去处理,
其执行结果将在客户机的屏幕上显示出来。
1、在执行程序的时候,首先启动一个服务器程序。
端口号是该服务器程序所指定的一个接收包的端口号,客户机必须
向该处发送包。在执行上述程序后则执行下面的客户机程序
2、“服务器的 IP”也可以使用服务器的主机名或域名。
若两个程序在一台电脑上则服务器 IP 用 127.0.0.1;若不在一台电脑
上则服务器的 IP 用其所在电脑的 IP(要求两台电脑能 Ping 通)。客
户端输入的端口号必须是服务器指定的端口。
1
udpc
udps
调用 C:\Windows\System32\cmd2输入命令 cmd2
显示结果
3、 客户机方可以输入 C:\\Windows\\System32\\下可执行的命令
如:help、arp、route print、quit 等
从键盘上输入的字符原封不动的发送给服务器程序后,在服务器程
序中则执行该字符串相对应的命令,并将执行结果发送给客户机程
序。
2、 程序的执行实例和流程图
在这个实例中服务器的 IP 为白兰兰的 IP(125.219.181.97)
在客户机端输入 route print 命令,则显示服务器的路由寻址表如下
(不全)
2
服务器端的信息
如果输入 help 后没有任何反应,请确认 udpc 程序所指定的 IP 地址
是否正确。若正确,再确认一下该 IP 地址的主机 udps 是否启动;再
确认这些以后,如果执行 udpc 程序仍没有任何显示,那么请使用
ping 命令来检查通信是否能够进行,因为 UDP 协议属于无连接型通
信,所以即使发生错误,也很难知道。
如果输入的命令一直是正确的,则只显示第一个命令,其余的都
隐藏了。直到输入错误时,服务器端才有错误提示,如:
3
3、 处理流程
无论是服务器端还是和客户端,首先都要初始化套接口环境再创建一个套接
口,利用 bind()系统调用来绑定端口号和 IP,只有这样才能使用 UDP 协议发送
和接收一个包,但时至次计算机网络中还没有传输任何一个包。
对于客户机而言,如果从键盘上输入命令,在客户机上执行 sendto()系统调用,
向服务器发送包,那么在发送包之后,客户机则执行 recvfrom()系统调用,
等待从服务器返回的报文。
如果服务器收到从客户机发来的报文,则调用 execute()和 chulicom()
函数。实质是调用 C:\\Windows\\System32\\中的可执行程序。若存在该命令则给
予客户机响应,若不存在输出 :您输入错误的命令。若命令不完整,服务器给
出提示。
这些操作反复进行,如果在客户机上输入字符串 quit,则程序运
行结束。
在使用 UDP 协议时,即使客户机程序运行结束,也不讲这个事
实传递给服务器。UDP 协议进行的通信的基本模式,只是传递命令
的请求包和应答包,并不传输其他包,因此通信方式简单。
客户机的处理 服务器的处理
4
开始
创 建 一 个 套 接 口
socket()
Ip 地址和端口绑定
Bind()
开始
设置端口号
创 建 一 个 套 接 口
socket()
客户机循环,从键
盘上输入,当不是
EOF 的时候反复进行 服务器循环接收报文
Recvfrom()
、
服务器循环
客户机循环
4、UDP 服务器源程序及说明
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<winsock2.h>
#pragma comment (lib, "ws2_32.lib")
#define BUFSIZE 65500
5
所输入的字
符串
发送命令 sendto()
其他
接收报文 recvfrom()
将接收到的报文在屏幕上输出
关闭该套接口
Closesocket()
结束
“quit”
Ip 地址和端口绑定
Bind()
对接收到的消息进行处理
Chulicom();execute()
发送命令的执行结果
Sendto();
关闭该套接口
Closesocket()
结束
包
包
剩余24页未读,继续阅读
资源评论
老帽爬新坡
- 粉丝: 81
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功