注册 登录
编程论坛 VC++/MFC

C++ UDP recvfrom 一直接收不到数据

xunmi_love 发布于 2012-10-24 10:45, 1539 次点击
我在UDP通信学习中,但是接收不到卡机回传的数据,
看到您说的BIND,我想请教一下,可否分享一下源码。简单的就行。
我先贴一下我的源码:
#include<winsock2.h>
#include<stdio.h>

void main()
{
    WORD wVersionRequested;
    WSADATA wsaData;
    int err;
    wVersionRequested=MAKEWORD(1,1);
    err=WSAStartup(wVersionRequested,&wsaData);
    if(err !=0)
    {
        return;
    }
    if(LOBYTE(wsaData.wVersion)!=1||
        HIBYTE(wsaData.wVersion)!=1){
        WSACleanup();
        return;
    }
   
    SOCKET sockClient=socket(AF_INET,SOCK_DGRAM,0);
    SOCKADDR_IN addrSrv;
    addrSrv.sin_addr.S_un.S_addr=inet_addr("0.0.0.0");
    addrSrv.sin_family=AF_INET;
    addrSrv.sin_port=htons(4660);

    char recvBuf[100];
    char sendBuf[100];
    char tempBuf[200];

    int len=sizeof(SOCKADDR);

    while(1)
    {
        printf("Please input data:\n");
        gets(sendBuf);
        sendto(sockClient,sendBuf,strlen(sendBuf)+1,0,
            (SOCKADDR*)&addrSrv,len);
        recvfrom(sockClient,recvBuf,100,0,(SOCKADDR*)&addrSrv,&len);
        if('q'==recvBuf[0])
        {
            sendto(sockClient,"q",strlen("q")+1,0,
                (SOCKADDR*)&addrSrv,len);
            printf("Chat end !\n");
            break;
        }
        sprintf(tempBuf,"%s say: %s",inet_ntoa(addrSrv.sin_addr),recvBuf);
        printf("%s\n",tempBuf);
    }
    closesocket(sockClient);
    WSACleanup();
}//这是我从网上找到例子,还请各位大侠指点迷津。。。。。
3 回复
#2
xunmi_love2012-10-24 13:50
大神呢,都到哪裡去了?給點意見好不好!
#3
xunmi_love2012-10-26 12:07
再抬抬,省得沉下去了
#4
xunmi_love2012-10-30 13:54
,草,我日
1