UDP编程的时候遇到奇怪问题

anrry 2005-09-28 09:10:23
请教:
UDP编程的时候遇到奇怪问题:
1,发数据时,目标机开着,并打开了程序,一切正常
2,发数据时,目标机关机,也正常
3,发数据时,目标机开着,但未打开程序.这时就麻烦了,发送方之后都接收不了数据,但可以发送.

如何解决这个问题?
...全文
263 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
anrry 2005-09-30
  • 打赏
  • 举报
回复
-_-,找出错误了

原来发没开程序的目标机上发数据的时候,产生了一个接收事件..然后去接收数据却收不了,出现了接收错误,退出了读线程........

判断此错误码,然后不退出读线程就好了.
anrry 2005-09-29
  • 打赏
  • 举报
回复
WSAGetLastError()获得错误代码为0
是什么错误?
anrry 2005-09-29
  • 打赏
  • 举报
回复
之后开程序发送啊,其他任何方发数据都收不了
anrry 2005-09-29
  • 打赏
  • 举报
回复
to zxyjyzxyjy(星星):

加了,不行.
谢了
nuaawenlin 2005-09-29
  • 打赏
  • 举报
回复
3,发数据时,目标机开着,但未打开程序.这时就麻烦了,发送方之后都接收不了数据,但可以发送.

//////////////////////////////////////////////

不明白什么意思,既然未打开目标机上的程序,发送方的数据从何而来????
用的是单播,广播还是组播???
醉马不肖 2005-09-29
  • 打赏
  • 举报
回复
程序没有开 recv水的数据?
anrry 2005-09-29
  • 打赏
  • 举报
回复
发送是可以啊,只是接收不了
dingpiao 2005-09-29
  • 打赏
  • 举报
回复
UDP应该是怎么样都能发的吧,所以要自己检测数据是否丢失啊
zxyjyzxyjy 2005-09-29
  • 打赏
  • 举报
回复
在建立sock后加入以下语句试试
int temp = 1024;
setsockopt(sock,SOL_SOCKET,SO_RCVBUF,(char *)&temp,sizeof(temp));
setsockopt(sock,SOL_SOCKET,SO_SNDBUF,(char *)&temp,sizeof(temp));
temp = 1;
setsockopt(sock,SOL_SOCKET,SO_BROADCAST,(char *)&temp,sizeof(temp));
long_xing 2005-09-28
  • 打赏
  • 举报
回复
会不会是你发送方接受代码的问题?贴出来看看

18,363

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧