各位大虾小弟是网络编程的新手,有个问题问大家:在用SOCKET进行UDP编程的时候应该是指定一个端口来进行数据的接收对吧,数据的发送一般用sendto函数发送出去就行了,可是现在的软件一般接收和发送都是指定不同的端口来进行工作的,我的问题就是,既然已经绑定了一个端口给接收那么如何绑定另外一个指定的端口给发送呢?我找了很多资料都没解决这个问题,望高手指点,我知道MSDN里面有答案,可是我E文不太行,实在找不到在哪里,如果有高手知道的话请指点指点小弟!
调试欢乐多
一个负责发送,
一个负责接收。
这样很清楚的。
我试过再绑定,可是会出错。to Sander(),zj510(周):
很多软件都采用接收发送分离的办法,这样可以降低出错的可能性,效率也提高!to sharkhuang(~爱一个人好难~):
是创建了socket都可以bind,但如果你bind两次就会出错呀!
server ----------------------------------clinet
socket() ---------- ----- ------------ socket()
bind() ----------------------- --------- bind()
recvfrom()------------------ ----------- sendto()
sendto()----------------------------- ---recvfrom()
很多软件都采用接收发送分离的办法,这样可以降低出错的可能性,效率也提高!
-----------------------
能讲讲这个的原理吗
我的socket是用WSASocket建立的呀。to fengge8ylf(第一次真正想有个女朋友) :
我知道对于发送方来说可以不用明确指定发送端口,但是我的问题就是我想指定发送端口。to Sander():
我们都知道很多软件都是指定发送端口和接收端口的呀,我老师就是叫我搞清楚如果将发送和接收这两件事情分开来做,但是我找了很久都找不找资料。
-------------------------------------------------
分开来做,并不需要两个端口,而是要用两个event,或thread,
制定发送端口,和接收端口,是针对server/client端,两个分别说的