我的项目是UDP文件传输。
流程是:
我需要为一个客户端创建一个套接字? 当我在我的localhost中测试并创建多个套接字时,它会引发异常(地址已经在使用中)
我该如何实现该应用?任何的想法 ?或者我的观念不正确?
答案 0 :(得分:0)
一次只能有一个套接字绑定到任何给定的UDP端口。
听起来你可能有多个线程调用bind(),这会导致除第一个之外的所有线程都返回“已在使用中”错误。在生成工作线程之前,您只需要在开始时调用bind()一次。
如果您需要多个线程来处理传入消息,您应该让一个调度程序线程侦听套接字并将消息发送到工作线程。
如果您需要多个线程来发送传出消息,它们都可以使用相同的描述符。
如果您需要多个进程来执行此功能,则需要使用单独的端口号。