免费注册 查看新帖 |

Chinaunix

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

这个udp模式的程序为什么不能正常运行? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-04-08 20:20 |只看该作者 |倒序浏览
我通过NetTerm连到UNIX服务器上,现在想实现udp模式的客户/服务端程序,在本机上模拟。可是不能正常运行,我仔细看过程序,没有发现错误,请高手们帮我看看,不胜感激。
/* 服务端程序大抵如下,省略了一些定义和出错判断 */
    sock=socket(AF_INET,SOCK_DGRAM,0);

    svr_addr.sin_family=AF_INET;    /* struct sockaddr svr_addr */
    svr_addr.sin_port=htons(MYPORT);  /* 宏定义,MYPORT=5050 */
    svr_addr.sin_addr.s_addr=INADDR_ANY;
    svrlen=sizeof(svr_addr);

    bind(sock,(struct sockaddr *)&svr_addr,svrlen);

    clilen=sizeof(struct sockaddr);
  sendlen=sendto(sock,"cat",3,0,(struct sockaddr *)&cli_addr,clilen);
    if (senlen==-1)
      printf("sendto error\n";
    else  printf("send---\n";
   
    close(sock);
/*  客户端程序大抵如下 */
    sock=socket(AF_INET,SOCK_DGRAM,0);

    svr_addr.sin_family=AF_INET;    /* struct sockaddr svr_addr */
    svr_addr.sin_port=htons(MYPORT);  /* 宏定义,MYPORT=5050 */
    svr_addr.sin_addr.s_addr=inet_addr(SVR_ADDR);
                    /* 宏定义,SVR_ADDR="127.0.0.1"*/
    svrlen=sizeof(svr_addr);

    cli_addr.sin_family=AF_INET;
    cli_addr.sin_port=htons(MYPORT);
    cli_addr.sin_addr.s_addr=inet_addr("127.0.0.1";


    printf("----begin-----";  /*为了调试*/
  recvfrom(sock,buf,MAXBUF,0,(struct sockaddr *)&svr_addr,&svrlen);
    printf("----ok--------";

    我的本意是试图让服务端发送字符,客户端接收,可是运行时,服务端显示
send---,表示发送成功,但是客户端仅显示---begin----,表示接收出问题了,只是,问题处在哪里呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP