现在我在写一个服务器的程序,大概要接受20-30个的客户端连接,数据是双向的,大家觉得用多线程的winsock好不好,该如何实现呢!有没有示例程序。
或者用一个winsock控件数组,每个控件使用不同的端口接受连接,大家觉得哪种方式好一些,多线程的我不太熟,还希望诸位大大能够赐教!
或者用一个winsock控件数组,每个控件使用不同的端口接受连接,大家觉得哪种方式好一些,多线程的我不太熟,还希望诸位大大能够赐教!
不过在VC里用多线程就很好了,呵呵。
如果资源访问容易发生冲突时,则少开线程,建一个队列等待(因为你的连接数不多),否则,得需要同步线程和调度线程,代价也是不小的。
这种程序,服务端用vb.net来写比较好,客户端用vb6倒还凑合。
客户端.一个Winsock 用于连接服务器.
连接:客户端与服务器端请求连接.服务器端.生成新的端口与Winsock 并进入监听状态.服务器端,请新的 端口 告诉 请求连接的客户端.客户端 断开 请求连接. 用新的端口进行连接.
信息转发:A客户端给B客户端发送信息A.Winsock.SendData "信息B|" & "真正的信息"A客户端给所有客户端发送信息A.Winsock.SendData "信息ALL|" & "真正的信息"
服务器端.
对
"信息ALL|" 这样的字串进行解析,再进行转发.