udp socket一样的代码为什么Linux行,Vxworks就不行?(有码)

udp socket同样的代码为什么Linux行,Vxworks就不行?(有码)
void usrAppInit (void)
{
#ifdef USER_APPL_INIT
USER_APPL_INIT; /* for backwards compatibility */
#endif

    /* add application specific code here */

    int count, loopi, j;
    BYTE node_id = sysProcNumGet();
    END_OBJ * pEnd;
    char ipaddr[40];
    END_TBL_ENTRY* pDevTbl;
    BYTE bMasterMacAddress[6];
    BYTE byFpgaStatus;
    DWORD dwNodeType;
    
  int sockd;
  struct sockaddr_in my_addr, srv_addr;
  char buf[2048];
  int addrlen;

/*网口初始化*/
if (mBlkInit() != OK)
{
printf("intercom_init: mBlkInit fail!\n");
}
/*set mac address and IP address*/
    bMacAddress[0][5] = node_id;
    bMacAddress[1][5] = node_id;
    
    for (loopi = 0; loopi < 2; loopi++) 
    {
        pRouteCookie[loopi] = NULL;
    }
    muxAddrResFuncAdd (M2_ifType_ethernet_csmacd, 0x800, arpresolve);
    /* Add in mux ENDs. */
    for (count = 0, pDevTbl = endDevTbl; pDevTbl->endLoadFunc != END_TBL_END;
        pDevTbl++, count++)
    {
        if (!pDevTbl->processed)
        {
            pEnd = (END_OBJ *) muxDevLoad(pDevTbl->unit,
                                 pDevTbl->endLoadFunc,
                                 pDevTbl->endLoadString,
                                 pDevTbl->endLoan, pDevTbl->pBSP);
            if (pEnd == NULL)
            {
                printf("muxDevLoad failed for device entry %d!\n", count);
            }
        }
    }
for (loopi = 0; loopi < count; loopi++) 
{
pEnd = endFindByName("lnPci", loopi);
pRouteCookie[loopi] = muxBind("lnPci", loopi, (FUNCPTR)intercom_device_mux_receive_return, NULL, NULL, NULL, END_INTERNODE_COMM, "END_INTERNODE_COMM", 0);

if (pRouteCookie[loopi] == NULL)