社区
网络编程
帖子详情
UDP方式连接如何确定连接成功与否?
wuleeemail
2008-10-03 09:47:43
两台不在同一网段的计算机使用UDP进行交互,在开始的时候需要一个“连接成功”标示。这里网络编程使用的都是WinSock最基本的一些函数,没有去用MFC中的那些类来实现。想了许多办法,可是总感到这些办法很笨,而且应该有很简单的方法来实现。因此到这里来征求大家的建议,如何最简单能获得两台机器交互通了没有的信息?知道的朋友能否给一个说明!谢谢!
...全文
2765
6
打赏
收藏
UDP方式连接如何确定连接成功与否?
两台不在同一网段的计算机使用UDP进行交互,在开始的时候需要一个“连接成功”标示。这里网络编程使用的都是WinSock最基本的一些函数,没有去用MFC中的那些类来实现。想了许多办法,可是总感到这些办法很笨,而且应该有很简单的方法来实现。因此到这里来征求大家的建议,如何最简单能获得两台机器交互通了没有的信息?知道的朋友能否给一个说明!谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
内存泄漏
2008-10-03
打赏
举报
回复
2
UDP是面向无连接的协议,又哪来的判断连接成功与否?? 最多只能发个消息过去判断对方指定的UDP端口是否在侦听..
adriano119
2008-10-03
打赏
举报
回复
UDP是用户数据报发送,他本身没有你所说的功能的
但是可以你自己实现,你想另一端发送一个数据包,你让另一端接受到数据后向你发送一个确认数据包,如果你发送以后受到一个确认数据包,就是连接成功了
还有就是在通信过程中服务器可以定时想客户端发送数据包,让客户端回应,以确认其在线
迷途的书童
2008-10-03
打赏
举报
回复
学习。。,帮顶!
erwin1984
2008-10-03
打赏
举报
回复
UDP只能简单发送数据包,不能直接确定数据包是否已经成功发送到目的地。
如果需要确认数据包是否成功发送到目的地,可以在双方之间实现响应协议,即发送一个数据包,对方在收到之后回应一个数据包表示接收到了,发送方在收到回应包之后确定已经发送成功了。
因为简单的响应中还存在很多问题(具体为何你可以考虑下),如果需要可靠的响应,参考TCP的实现的三层握手协议,对你的实现很有帮助。
danscort2000
2008-10-03
打赏
举报
回复
我刚好自己写了一个TUDP库
如果有需要,可以参考下我的实现
工程 VC 2005的示范
http://www.snowware.com/cn/tudptest.zip
两个线程,一个模拟发送方
一个模拟接收方
wuleeemail
2008-10-03
打赏
举报
回复
[Quote=引用 3 楼 adriano119 的回复:]
UDP是用户数据报发送,他本身没有你所说的功能的
但是可以你自己实现,你想另一端发送一个数据包,你让另一端接受到数据后向你发送一个确认数据包,如果你发送以后受到一个确认数据包,就是连接成功了
还有就是在通信过程中服务器可以定时想客户端发送数据包,让客户端回应,以确认其在线
[/Quote]
我本来就是这样做的。只是后来看到书上那种用MFC里使用相关类能很方便解决问题时才又返回来思考的。谢谢了!
基于
UDP
网络系统设计
(1)
UDP
客户端程序设计 要求:程序调试通过后能与
UDP
服务器端程序进行通信。 调试环境:Visual C++ 6.0 程序名称:client.cpp 客户端IP地址和端口:由系统指定 程序功能:客户端的程序向服务器提出
UDP
连接
请求,并凭密码(密码初始化为:123456)登陆,若密码验证正确则开始接收数据,然后再向服务器发送信息,信息从键盘输入。若服务器关闭服务,则通信终止。 命令格式:client [服务器IP地址] 命令举例:clent 125.47.9.99 说明:上面设要和IP地址为125.47.9.99、端口号为5050的服务器进行通信 (2)
UDP
服务器端程序设计 要求:程序调试通过后能与TCP客户端程序进行通信。 调试环境:Visual C++ 6.0 服务器IP地址:由系统指定 服务器端口号:5050 程序名称:server.cpp 程序功能:服务器端的程序当有客户端提出
连接
请求,判断密码正确与否,若
连接
成功
,显示客户IP地址和端口号。然后,给客户端发送由键盘输入的文字信息,接收来自客户端的信息,亦可终止服务。 命令格式:server (3)预期结果 服务器端开启之后,等待客户端
连接
。客户凭密码进行登陆,若密码错误,服务器端自动返回错误提示。若登陆
成功
,则服务器端就可以与客户端进行信息通信了。若想终止通信,服务器可以选择
网络安全设备.docx
网络安全设备 网络安全设备全文共11页,当前为第1页。网络安全设备全文共11页,当前为第1页。网络安全设备 网络安全设备全文共11页,当前为第1页。 网络安全设备全文共11页,当前为第1页。 防火墙 定义 防火墙指的是一个有软件和硬件设备组合而成、在内部网和外部网之间、专用网与公共网之间的界面上构造的保护屏障。它可通过监测、限制、更改跨越防火墙的数据流,尽可能地对外部屏蔽网络内部的信息、结构和运行状况,以此来实现网络的安全保护。 主要功能 1、过滤进、出网络的数据 2、防止不安全的协议和服务 3、管理进、出网络的访问行为 4、记录通过防火墙的信息内容 5、对网络攻击进行检测与警告 6、防止外部对内部网络信息的获取 7、提供与外部
连接
的集中管理 主要类型 1、网络层防火墙 一般是基于源地址和目的地址、应用、协议以及每个IP包的端口来作出通过与否的判断。防火墙检查每一条规则直至发现包中的信息与某规则相符。如果没有一条规则能符合,防火墙就会使用默认规则,一般情况下,默认规则就是要求防火墙丢弃该包,其次,通过定义基于TCP或
UDP
数据包的端口号,防火墙能够判断是否允许建立特定的
连接
,如Tel
计算机网络 传输层 TCP和
UDP
协议
Re: 计算机网络 传输层 TCP和
UDP
协议# 传输层协议 TCP 和
UDP
的应用场景 要发送的内容多,需要将发送的内容分成多个数据包发送(TCP) 要发送的内容少,一个数据包就能发送全部内容(
UDP
)# 传输层协议和应用层协议之间的关系 传输层协议加一个端口号来标识一个应用层协议, 展示了传输层协议和应用层协议之间的关系# 使用TCP/IP筛选实现网络安全 防火墙设置与端口#
UDP
协议特点和报文格式
UDP
是无
连接
的:即发送数据之前不需要建立
连接
UDP
使用尽最大努力交付:即不保证可靠交付,因此主机不需要维持复杂的
连接
状态表# TCP 协议特点和报文格式先
连接
后释放;点对点;可靠传输;全双工通信;面向数据流七项标记位停止等待协议与改进的停止等待协议滑动窗口技术详解:确认Seq与选择确认SACK 超时重传时间:查询计算与自动调整 流量控制功能:点对点的流量控制 拥塞控制:相对整体网络环境而言;慢开始算法和拥塞避免算法 改进的拥塞控制:快重传和快恢复 三次握手建立TCP
连接
,四次挥手释放
连接
。# TCP 协议面临的攻击 SYN 攻击:捏造的源地址; LAND攻击:自己就是源地址# 通过抓包工具,查看以上报文格式# 习题详解
怎么理解TCP的面向
连接
和
UDP
的无
连接
(不面向
连接
)?
TCP关心分组是否准确送达,甚至仔细到给每个分组编号并收到目的端的确认“我已经收到啦~你继续发~”才继续发送后续的分组,而
UDP
则不然,它只负责把分组封装好后直接发送到链路上,至于目的端收到与否并不关心 TCP和
UDP
,协议的目的是为了两端进行对话。有
连接
和无
连接
就像打电话和发短信。一个要先拨通,而另一个只要有号码就行。有
连接
A拨电话:滴…滴…滴…(如果此时语音提示你拨打的电话无法接通则...
为何说TCP是可靠
连接
而
UDP
是不可靠
连接
首先看一下TCP协议的报头: 而
UDP
协议的报头大概如下: 可以很明显的看出来,TCP的报头多了好多项,顺序号、应答号等等。 在TCP协议中使用了接收确认和重传机制。这样每一次信息的传输都经过了像三次握手那样的一个过程,使得每一个信息都能保证到达,是可靠的。 而
UDP
是尽力传送,没有应答和重传机
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章