QHostAddress *addr;
quint16 * port;
QString str;
char buffer[1024]="";
struct message *ptr;
udpSocket -> readDatagram(buffer,1024,addr,port); 每当程序运行到这里时 就出错关闭 这是为什么?
------解决方案--------------------
udpSocket -> readDatagram(buffer,1024,addr,port);好久没用过QT了。不过,我觉得,既然你是读取数据报的内容,总得告诉系统,你要读的是哪个地址,哪个端口的数据吧。你addr和port都是野指针的话,系统怎么知道如何读。获取发送方的IP,你需要从UDP数据报属性中去获取,或者,你传输的数据内容中包含该信息。通过解析数据报得知。