| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1909 人关注过本帖
标题:VC中socket编程中recv()运行不了,求解!!!
取消只看楼主 加入收藏
enjoy迷星
Rank: 2
等 级:论坛游民
帖 子:18
专家分:42
注 册:2011-11-5
结帖率:80%
收藏
已结贴  问题点数:5 回复次数:2 
VC中socket编程中recv()运行不了,求解!!!
{   
    WSADATA wsaData;
    //初始化Socket库
    WSAStartup(MAKEWORD(2,0),&wsaData);
    //创建一根电线
    SOCKET sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
    SOCKADDR_IN sa;
    sa.sin_family=AF_INET;
    //设置电线连接服务器端的端口 www.time.国家授时中心
    sa.sin_port = htons(IPPORT_TIMESERVER);//授时服务器是37端口IPPORT_TIMESERVER。210.72.145.8
    sa.sin_addr.S_un.S_addr = inet_addr("210.72.145.8");  //Time.nist.gov   192.43.244.18
    //为什么不用设置客户端的端口,难道不需要客户端的端口吗?(一般为动态生成!)
    if(connect(sock,(SOCKADDR *)&sa,sizeof(sa))==SOCKET_ERROR)
    {
         MessageBox(NULL,TEXT("连接失败!!!"),"",MB_ICONERROR);
        ShowError();
        return;
    }
    MessageBox(NULL,TEXT("连接成功!!!"),"",MB_OK); ////////////测试用
    TCHAR buff[256];
    ZeroMemory(buff,sizeof(buff)/sizeof(TCHAR));
    unsigned long ulTime=-999990;
    MessageBox(NULL,buff,TEXT("1"),MB_OK);/////////////此句还可以运行!!!!测试用

                 recv(sock,(char *)&ulTime,sizeof(unsigned long),0);/////////////此句运行有问题!!!!

    MessageBox(NULL,buff,TEXT("2"),MB_OK);/////////////此句已不能运行!!!!测试用   
    wsprintf(buff,"%i",ulTime);
    closesocket(sock);
    WSACleanup();
}

当程序执行到:【recv(sock,(char *)&ulTime,sizeof(unsigned long),0);/////////////此句运行有问题!!!!】时,
程序就走不了了,在网上搜说是socket阻塞,可我不懂。。。急急急!!!
搜索更多相关主题的帖子: 服务器 电线 Socket 中心 
2011-11-07 22:44
enjoy迷星
Rank: 2
等 级:论坛游民
帖 子:18
专家分:42
注 册:2011-11-5
收藏
得分:0 
回复 3楼 RunGame
是的,当与授时服务中心服务器建立链接后,服务器就会自动向客户端发送消息;
而且我在视频上看到的,他就可以接受数据...
所以费解~~~
2011-11-08 19:01
enjoy迷星
Rank: 2
等 级:论坛游民
帖 子:18
专家分:42
注 册:2011-11-5
收藏
得分:0 
回复 2楼 wuyunxong
应该怎么放呢?是那一句放错地儿了呢???
2011-11-08 19:02
快速回复:VC中socket编程中recv()运行不了,求解!!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015902 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved