• 5661阅读
  • 2回复

[已解决]请教qtcpsocket传结构体的问题。。 [复制链接]

上一主题 下一主题
离线darrenmu
 

只看楼主 倒序阅读 楼主  发表于: 2009-12-15
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
因为接收方是C语言写的,想要QT的客户端直接发一个结构体过去。但我发字符串可以,发结构体SERVER端收的不对。。

比如结构体定义如下:
typedef struct{
        char name[128];
        char addr[128];
}info;

我是这样做的:
        info msg;
        memset(&msg, 0, sizeof(info));
        strcpy(msg.name, "xxxx");
        strcpy(msg.addr, "xxxxxxxx");

        QDataStream out(tcpSocket);
        out << &msg;

服务器接收n = read(connfd, &msg, sizeof(pegmsg));
接收的n为1。。。也打印不出结构体的内容
[ 此帖被darrenmu在2009-12-15 17:16重新编辑 ]
离线darrenmu

只看该作者 1楼 发表于: 2009-12-15
搞定了。
socket->write((char*)&msg, sizeof(msg));
离线yidingyidin
只看该作者 2楼 发表于: 2010-05-25
呵呵,请问大虾C语言那边该该如何接收呢?小弟谢过了哈
快速回复
限100 字节
 
上一个 下一个