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

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

如何解决这个问题?
...全文
233 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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
会不会是你发送方接受代码的问题?贴出来看看
回复
相关推荐
发帖
网络编程
创建于2007-09-28

1.8w+

社区成员

VC/MFC 网络编程
申请成为版主
帖子事件
创建了帖子
2005-09-28 09:10
社区公告
暂无公告