双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

程序接收不到UDP数据包的问题,重分悬赏

zuolihua zuolihua 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
服务端在win32平台广播数据包,客户端在linux上接受,目前的发现客户端死活收不到哪怕一个字节的数据,但我用TCPDUMP已经抓到了网络上的广播端口,用netstat -an命令也发现客户端程序已经在指定端口进行监听,可我的recv函数就是不返回,实在想不到什么问题,请大家看看我的代码吧,顶者有分...
int m_Socket;

struct sockaddr_in m_stSrcAddr;



int Init(char* strIP,int port,int nonB )

{

int argp = nonB;

int cbRet;

int nErrorCode;
m_Socket = socket(AF_INET,SOCK_DGRAM,0);
if(m_Socket<0)
{
printf("create socket error!\r\n");
return -1;
}



bzero(&m_stSrcAddr,sizeof(m_stSrcAddr));
m_stSrcAddr.sin_family = AF_INET;

m_stSrcAddr.sin_port = htons( port );
inet_aton(strIP,&m_stSrcAddr.sin_addr);

nErrorCode = bind( m_Socket,(struct sockaddr *)&m_stSrcAddr,sizeof(m_stSrcAddr));
printf("create socket error %s!\r\n",strerror(errno));

if(nErrorCode<0)

{

printf("create socket error %s!\r\n",strerror(errno));
return -1;

}







return 0;

}



void* ThreadEntry( void *ch );

int bThreadRun = 1;

int main(int argc, char* argv[])

{

int nPort = 0;

char cQuit = 0;
pthread_t ntid;
int nErr;

if(argc!=3)

return 0;

nPort = atoi(argv[2]);

if(Init(argv[1],nPort,0)!=0)

{

printf("create socket error!\r\n");

return -1;

}

char szBuf[50] = {0};

long lBufSize = 50;

long nRecved = 0;

SetDecoderInfo("/usr/ebc decode/linux/debug", 10);

while(bThreadRun)

{
printf("ready to recive data!\r\n");


nRecved = recv(m_Socket,szBuf, lBufSize,0);


printf("recive data!\r\n");

ProcessPackage(szBuf+4,nRecved-4);



memset(szBuf, 0, lBufSize);

nRecved = 0;

}


return 0;

}





void* ThreadEntry(void* lpParam)

{

char szBuf[2048] = {0};

long lBufSize = 2048;

long nRecved = 0;

SetDecoderInfo("/usr/ebc decode/linux/debug", 10);

while(bThreadRun)

{

nRecved = recv(m_Socket,szBuf, lBufSize,0);


printf("recive data!\r\n");

ProcessPackage(szBuf+4,nRecved-4);



memset(szBuf, 0, lBufSize);

nRecved = 0;

}

return (void*)0;

}
...全文

相关推荐

评论 12
收藏 已收藏
分享
返回顶部
zuolihua
Linux/Unix社区 23,224 成员 74,535 内容