社区
Qt
帖子详情
UDP readDatagram 获取发送方ip 地址
zz645327054
2012-05-25 07:48:50
QHostAddress *addr;
quint16 * port;
QString str;
char buffer[1024]="";
struct message *ptr;
udpSocket -> readDatagram(buffer,1024,addr,port); 每当程序运行到这里时 就出错关闭 这是为什么?
...全文
1109
4
打赏
收藏
UDP readDatagram 获取发送方ip 地址
QHostAddress *addr; quint16 * port; QString str; char buffer[1024]=""; struct message *ptr; udpSocket -> readDatagram(buffer,1024,addr,port); 每当程序运行到这里时 就出错关闭 这是为什么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qixingl
2012-05-27
打赏
举报
回复
说错了,是1楼说的正确!
还有上面的,new出来的记得释放。
qixingl
2012-05-27
打赏
举报
回复
2楼说的正确。
addr, port需要是个有效地址,你在这里没有申请空间,是野指针。
你应该这样:
QHostAddress *addr = new QHostAddress;
quint16 * port = new quint16;
udpSocket -> readDatagram(buffer,1024,addr,port);
或不用指针
QHostAddress addr;
quint16 port;
udpSocket -> readDatagram(buffer,1024, &addr, &port);
一般来说,需要传指针过去的函数,都是要传有效地址,即已经申请内存后的指针,函数只是负责修改指针指向的值,不负责内存的申请和释放。
Joseph-Growth
2012-05-26
打赏
举报
回复
udpSocket -> readDatagram(buffer,1024,addr,port);好久没用过QT了。不过,我觉得,既然你是读取数据报的内容,总得告诉系统,你要读的是哪个地址,哪个端口的数据吧。你addr和port都是野指针的话,系统怎么知道如何读。获取发送方的IP,你需要从UDP数据报属性中去获取,或者,你传输的数据内容中包含该信息。通过解析数据报得知。
zz645327054
2012-05-26
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
udpSocket -> readDatagram(buffer,1024,addr,port);好久没用过QT了。不过,我觉得,既然你是读取数据报的内容,总得告诉系统,你要读的是哪个地址,哪个端口的数据吧。你addr和port都是野指针的话,系统怎么知道如何读。获取发送方的IP,你需要从UDP数据报属性中去获取,或者,你传输的数据内容中包含该信息。通过解析数据报得知。
[/Quote]
这个函数的意思 不是把发送方的地址和端口保存到addr 和 port的所指向的位置吗
那么还有其他获取发送方地址和端口的方法么
Qt用于
UDP
通信对
方
停止
发送
,接收
方
仍有空报文出现问题
在使用Qt进行
UDP
通信时,可能会遇到一种情况,即当
发送
方
停止
发送
数据报文时,接收
方
仍能接收到空的报文。这通常是因为
UDP
的特性导致的。
UDP
(User
Datagram
Protocol)是一个无连接、不可靠的传输层协议,它不保证...
qt
udp
client 带有响应
发送
端响应
同时,这个函数会返回
发送
方
的
IP
地址
和端口号,可以用来确认数据来源。 6. **
发送
响应**: 收到数据后,根据业务逻辑处理这些数据,然后构造一个响应报文,再次调用write
Datagram
()函数,这次的目标是刚刚接收到...
Qt下tcp和
udp
的编程例子
你可以通过绑定到一个特定的端口来接收数据,或者使用`write
Datagram
()`函数将数据
发送
到指定的
IP
地址
和端口。 在提供的压缩包文件中,可能包含了一些示例代码,比如TCP服务器和客户端的实现,以及
UDP
的
发送
和接收...
UDP
.rar_qt
udp
_qt一对一聊天_qt局域网聊天_
udp
qt_一对多聊天
在一对一聊天中,
发送
方
会将消息封装成
UDP
数据包,通过`write
Datagram
()`
发送
给接收
方
的特定
IP
和端口。接收
方
则监听自己的端口,接收到数据后解包并显示消息。对于一对多的聊天,通常需要服务器来协调,服务器接收到...
Udp
协议Demo
对于
发送
数据,我们可以使用write
Datagram
()函数,它需要目标
IP
地址
、端口号以及要
发送
的数据: ```cpp QByteArray data = "Hello,
UDP
!"; QHostAddress rec
ip
ient("192.168.1.100"); quint16 port = 54321;
udp
...
Qt
21,466
社区成员
26,689
社区内容
发帖
与我相关
我的任务
Qt
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
复制链接
扫一扫
分享
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章