| 发表于:2007-01-25 12:14:32 楼主 |
本人在前一段使用vb6.0编写一个网络程序(局域网),使用了winsock控件,同时允许最多50个client同时登录,一开始还可以(指用了一段时间),不过现在,发现服务端经常出现关于winsock的10035(套接字不成块)错误,出这个错后,所有的client与server的通讯就断了,必须从新启动server的服务,我用的是tcp协议,根据观察,出现这个错是两个client几乎同时连接的时候容易出现,因为我是用一个server(0) l诊听,有新连接就load 一个sock,不知道有什么问题请高手们指点指点!在下不胜感激!! --------------代码如下 private sub server_connectionrequest(index as integer, byval requestid as long) dim i as integer dim sconnip as string dim dcount as integer dcount = 0 if index = 0 then sconnip = server(0).remotehostip if not securitycheck(lssetupparamet.msecurity, sconnip) then exit sub for i = 1 to server.count - 1 if server(i).remotehostip = sconnip and server(i).state = sckconnected then closesock i exit for end if next i for i = 1 to server.count - 1 if server(i).state = sckclosed then dcount = i exit for end if next i if dcount = 0 then dcount = server.count load server(dcount) end if server(dcount).accept requestid xsocksendata (dcount), "login_ " end if end sub |
|
|
|
|