免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1814 | 回复: 3
打印 上一主题 下一主题

socket通信奇妙问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-01-06 18:03 |只看该作者 |倒序浏览
问题描述:client向socket写入的buf是一个client_t的结构体,其中的一个字段videoselect的值在server端口怎么总是0,server有收到数据啊!怎么老是为0,各位帮忙看一下代码中的问题。谢谢

server端(S3C2410平台):
     ...
     
          memset(&message,0,sizeof(struct client_t));
    ret = read(sock,(unsigned char*)&message,sizeof(struct client_t));
    if (ret < 0)
    {
         if(debug)
             printf(" Client vaporished !! \n");
        break;
     }
   
     if(message.videoselect )
     {
        printf(">>>message.videoselect [1]= %d<<<\n",message.videoselect);         
     }
     else
     {
         printf(">>>message.videoselect [0]= %d<<<\n",message.videoselect);         
   
     }
     ...
     
   
client端(PC):   
   
    ...
   
    struct client_t *messcallback;   
    messcallback=(struct client_t*)malloc(sizeof(struct client_t));
    init_callbackmessage(messcallback);
   
    if ((jpegsize = readjpeg(sock_client,&buf,headerframe,messcallback,statOn,posixvideoselect)) < 0)
    {
        printf("got size = 0 \n");
        goto error;
    }
     
    ...
     
     
     
     
其中:

    readjpeg 函数中  bytewrite = write_sock(sock,(unsigned char*)message,sizeof(struct client_t));

void init_callbackmessage(struct client_t* callback)
{
    ...
    unsigned char videoselect = 1;
    ...
}

论坛徽章:
0
2 [报告]
发表于 2009-01-06 18:33 |只看该作者
结构定义?
是不是内存对齐的问题。

论坛徽章:
0
3 [报告]
发表于 2009-01-06 19:00 |只看该作者
谢谢各位,问题解决了。是赋值的时候出了点问题!!!!!低级错误

论坛徽章:
0
4 [报告]
发表于 2009-01-06 22:42 |只看该作者
呵呵,我相信99%都是低级错误
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP