服务器/客户端模式的单统一模型的问题
我说的服务器/客户端模式的单统一模型,是指一个通信端,同时扮演两种角色,既可作为服务器等待请求又可作为客户端发起请求.具体说来就是主线程开两个子线程.一个为服务线程,提供服务;一个作为客户线程,向指定目标发起连接.现在的问题是,服务线程会绑定一个端口,而客户线程也要使用这个端口,我指定的,与其它服务器通信.但是,在winsock编程中,一个端口只能被绑定一次.请问,在我的客户线程代码中,该怎么做才能固定下发送数据的、与服务线程绑定端口相同的端口去与其它目标通信?
[解决办法]
即放客户端组件,又放服务器组件。
服务器端口总是固定不变的,而客户端不管连接到哪台主机,总是连接到这个固定端口。
由于服务器与客户端是在同一个项目内,因此,部分代码可以共用。
服务线程会绑定一个端口,而客户线程就不能使用这个端口,这是最基本原理。
服务器一般是被动的,客户端才是主动的。
[解决办法]
如果是不同的两台机器,可以采用一样的端口号。弄成可配置最好了。