大家好
我是套接字编程的新手..
我有两个程序。接收和发送接收。
在 RECEIVE 中,我只是编写了用于使用 resvfrom(.....) 从充当服务器的程序接收数据的代码,而在后面的代码中,我编写了用于从充当服务器的程序接收一些 msg 的代码,使用 resvfrom(.. ...)我也使用 sendto(......)将相同的数据发送回该服务器程序。
我正在使用多播地址为 224.0.0.5 和端口为 4545 的 linux 机器。
我的程序运行良好,但问题是:
首先我的 RECEIVE 程序正在接收数据,然后我的 SENDRECEIVE 程序接收和发送数据。
但它运行无穷......我将我的代码包含在 while(1){.......} 中。
现在问题是什么???
我的关闭(.....)套接字是否没有为 SENDRECEIVE 程序调用。
如果是,我将如何使用哪些条件关闭我的套接字,以便它在从服务器接收到消息并将其发送回 RECEIVE 程序后终止......
“这次我不能发送整个代码,但逻辑是……在 setsocketopt(.....)
while (1)
//receiving from server int
status=resvfrom(sock,buffer,MAxBUFFERSIZE,0,(struct
sockaddr )&addr,&socklen); {.....
{..... .. .. } //sending back to
server int count=
sensto(sock,buffer,MAxBUFFERSIZE,0,(struct
sockaddr )&addr,&socklen); {... .. .
}
}
你能不能尽快帮帮我……”