社区
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); 每当程序运行到这里时 就出错关闭 这是为什么?
...全文
1088
4
打赏
收藏
UDP readDatagram 获取发送方ip 地址
QHostAddress *addr; quint16 * port; QString str; char buffer[1024]=""; struct message *ptr; udpSocket -> readDatagram(buffer,1024,addr,port); 每当程序运行到这里时 就出错关闭 这是为什么?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
通信对
方
停止
发送
,接收
方
仍有空报文出现问题
采用
UDP
通信的Qt程序,当接收
方
与
发送
方
正常连接
发送
报文后,本地定时器自动
发送
,当中断
发送
方
发送
时,接收
方
仍然有空报文接收到: 接收报文原程序: QByteArray
datagram
;
datagram
.resize(
udp
Socket->pending
Datagram
Size());
udp
Socket->
read
Datagram
(
datagram
.data(),
datagram
.size());/ QString str=
datagram
.data();
udp
_ui->TextEdit->insertPlainText(str.append(' ').toUpper()); ,对
方
发送
停止,仍有空报文出现
qt
udp
client 带有响应
发送
端响应
qt
udp
client 带有响应
发送
端响应 大多数都只给了client 端的接收 但是实际运用中 是需要接收端给
发送
端报文响应
Qt下tcp和
udp
的编程例子
对Tcp和
Udp
的很好的理解,源于总结课本上的完整代码 可以在其基础上继续开发效率更高的代码。 对Tcp和
Udp
的很好的理解,源于总结课本上的完整代码 可以在其基础上继续开发效率更高的代码。
UDP
.rar_qt
udp
_qt一对一聊天_qt局域网聊天_
udp
qt_一对多聊天
Qt实现的简单的局域网聊天可以实现一对一,目前正在实现一对多,附带源码
Udp
协议Demo
在QT下使用
Udp
协议的一个小Demo,没什么复杂的就是为了练练手
Qt
16,818
社区成员
26,684
社区内容
发帖
与我相关
我的任务
Qt
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
复制链接
扫一扫
分享
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章