请问UDP收不到数据包的有关问题

请教UDP收不到数据包的问题?
用socket写了个收发数据的程序,UDP协议,服务器端程序放到服务器后,在自己的电脑里发送并接收数据,客户端发送的信息在服务器那边可以收到,就是服务器端的数据在客户端收不到,用winshark来抓不到包,现在一头雾水,完全不知道是什么原因,在两台PC连接测试的时候程序可以完成工作,放到服务器就不行了。但是我的同事的电脑可以收到服务器的包,太奇怪了。

请各位高手赐教一下,谢谢

下面是接收的代码
C/C++ code

WORD wVersionRequested;
    WSADATA wsaData;
    int err;

    wVersionRequested = MAKEWORD(1, 1);
    DWORD dwID=GetCurrentThreadId();
    err = WSAStartup(wVersionRequested, &wsaData);
    if (err != 0) {
        printf("WSAStartup failed with error: %d\n", err);
        return 0;
    }

    if (LOBYTE(wsaData.wVersion) != 1 || HIBYTE(wsaData.wVersion) != 1) {
        printf("Could not find a usable version of Winsock.dll\n");
        WSACleanup();
        return 0;
    }
    else
        printf("The Winsock 1.1 dll was found okay, and thread is %x\n", dwID);
        
    SOCKET sockSrv = socket(AF_INET, SOCK_DGRAM, 0);
    SOCKADDR_IN addrSrv;
    addrSrv.sin_addr.S_un.S_addr = htonl(INADDR_ANY);
    addrSrv.sin_family = AF_INET;
    addrSrv.sin_port = htons(6120);

    bind(sockSrv, (SOCKADDR*)&addrSrv, sizeof(SOCKADDR));

    SOCKADDR_IN addrClient;
    int len = sizeof(SOCKADDR);

    char recvBuf[PACKAGE_LEN];
    //char tempBuf[recvLen];

    while(!CLOSE_PROC){
        if(recvfrom(sockSrv, recvBuf, PACKAGE_LEN, 0, (SOCKADDR*)&addrClient, &len) != SOCKET_ERROR){
            modify_reqeust((SOCKADDR*)&addrClient, recvBuf, &sockSrv);
            SetEvent(recvEvent);
        }

        Sleep(0);
    }
    closesocket(sockSrv);
    WSACleanup();


------解决方案--------------------
客户端:
addrSrv.sin_addr.S_un.S_addr = htonl(INADDR_ANY); //这里应该是你自己服务器端的IP
而且客户端要主动先去连接服务器端
------解决方案--------------------
在两台PC连接测试的时候程序可以完成工作,放到服务器就不行了。但是我的同事的电脑可以收到服务器的包
-------------

这样的话基本就不是程序的问题了,检查下网络配置的问题吧