UDP Socket 关闭操作请教
Hi:all:
请教一个问题,请指教:
创建一个Udp Socket(例如为gSocket),完成了一次发包以及相应的收包,然后就关闭了套接字(close(gSocket))。
后续,在这个gSocket上依然可以发包成功(sendto),但是却无法收包(recvfrom)。所以请教一下,对于Udp类型的socket的close操作实现了什么效果:为什么关闭后,可以依旧在这个socket上发包成功,但是收包却失败呢,请高手指教。
编程环境为(linux suse) & g++
[解决办法]
Linux下面的不知道
WIndows下面closesocket(gSocket)之后还有两个操作:
1. closehandle(handle) // 关闭句柄
2. WSACleanup() // 把DLL清出去
[解决办法]
我是这样理解的,发出去只是从本地发出去成功了,并不表示到达目的的,且对方接收成功。
就好像我本来是要去汽车南站的,我从家里出去了,但是并不表示我一定能到达南站呀,假如迷路或....。
所以发送成功与接收成功完全是两个相互独立的事件,并没有任何必然联系。
[解决办法]