| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1252 人关注过本帖
标题:VB关于WINSOCK的问题
取消只看楼主 加入收藏
renxiaoyao36
Rank: 9Rank: 9Rank: 9
来 自:七宝中学
等 级:贵宾
威 望:31
帖 子:347
专家分:1077
注 册:2014-9-18
结帖率:92.31%
收藏
已结贴  问题点数:20 回复次数:19 
VB关于WINSOCK的问题
程序代码:
On Error GoTo sss
ttt:
tcpServer.LocalPort = 1999
tcpServer.Listen
tcpServer.RemoteHost = "120.204.4.248"
tcpServer.Connect
DoEvents
Sleep 30000
tcpServer.SendData (tcpServer.LocalIP)
Exit Sub
sss:
GoTo ttt

运行到黄色那一段就会出现40020错误
5分钟前运行一切正常。
现在突然无法正常运作了。
求教这是哪里出错了?
搜索更多相关主题的帖子: 黄色 
2014-12-25 20:41
renxiaoyao36
Rank: 9Rank: 9Rank: 9
来 自:七宝中学
等 级:贵宾
威 望:31
帖 子:347
专家分:1077
注 册:2014-9-18
收藏
得分:0 
tcpServer.LocalPort = 1999

编程蛋疼的不是枯燥,而是辛辛苦苦编完几百行的代码,运行,“Runtime Error “xxx””。
2014-12-25 20:42
renxiaoyao36
Rank: 9Rank: 9Rank: 9
来 自:七宝中学
等 级:贵宾
威 望:31
帖 子:347
专家分:1077
注 册:2014-9-18
收藏
得分:0 
tcpServer.LocalPort = 1999
这段代码出错(前面没显示出来...)

编程蛋疼的不是枯燥,而是辛辛苦苦编完几百行的代码,运行,“Runtime Error “xxx””。
2014-12-25 20:42
renxiaoyao36
Rank: 9Rank: 9Rank: 9
来 自:七宝中学
等 级:贵宾
威 望:31
帖 子:347
专家分:1077
注 册:2014-9-18
收藏
得分:0 
楼上的方法使用后,原来出错的代码不错了,但是...
tcpServer.RemoteHost = "120.204.4.248"这段代码出错了...

编程蛋疼的不是枯燥,而是辛辛苦苦编完几百行的代码,运行,“Runtime Error “xxx””。
2014-12-26 12:21
renxiaoyao36
Rank: 9Rank: 9Rank: 9
来 自:七宝中学
等 级:贵宾
威 望:31
帖 子:347
专家分:1077
注 册:2014-9-18
收藏
得分:0 
我把代码大改了一下,现在要求是:
客户端和服务端分离
客户端有两个form,第一个form是登陆,其中登陆时发送一个连接请求给服务器,服务器自动分发一个sock给客户端,客户端连接上服务端,客户端发送用户名及密码给服务端,服务端检查用户名及密码是否正确,若正确则传输data告诉客户端密码正确,客户端接收后关闭form1,关闭连接
form2启动,form1关闭前在外部存储一个临时文件,里面包括用户名及密码供form2调用,form2调用完毕后删除,并且重新连接。但是此时有个问题:
服务端重新连接上时,会自动跳转入登陆模块,导致客户端即使连接上服务端,也无法发送信息给服务端让服务端转送给另外的客户端,因为服务端在没有登录的情况下会丢弃所有不是登录请求的信息。
是否可以让form1关闭,form2打开时,不关闭连接呢?

编程蛋疼的不是枯燥,而是辛辛苦苦编完几百行的代码,运行,“Runtime Error “xxx””。
2014-12-26 17:37
renxiaoyao36
Rank: 9Rank: 9Rank: 9
来 自:七宝中学
等 级:贵宾
威 望:31
帖 子:347
专家分:1077
注 册:2014-9-18
收藏
得分:0 
连接问题已解决,用的是服务器本地存储外部文件。
但是现在有个新问题:
一个用户(客户端)发送了一段信息来,客户端自动加上声明,服务端接受到了信息,分析信息种类,得出“该信息是要转发”的结论。此时,服务端将接受到的信息按照客户端制定的目标用户,搜索该用户所对应的IP,并且向该IP发送信息。
但是,问题是sock无法指定要发送的IP,只能固定的向一个IP发送信息,怎么办?

编程蛋疼的不是枯燥,而是辛辛苦苦编完几百行的代码,运行,“Runtime Error “xxx””。
2014-12-26 17:59
renxiaoyao36
Rank: 9Rank: 9Rank: 9
来 自:七宝中学
等 级:贵宾
威 望:31
帖 子:347
专家分:1077
注 册:2014-9-18
收藏
得分:0 
我是控件数组

编程蛋疼的不是枯燥,而是辛辛苦苦编完几百行的代码,运行,“Runtime Error “xxx””。
2014-12-26 18:35
renxiaoyao36
Rank: 9Rank: 9Rank: 9
来 自:七宝中学
等 级:贵宾
威 望:31
帖 子:347
专家分:1077
注 册:2014-9-18
收藏
得分:0 
可能是我说的不详细吧
服务器的winsock有2两个
一个是listener用来侦听
一个是sock()是用来分配给不同用户的。
sock()被我用其他方法限定为最多15个。

编程蛋疼的不是枯燥,而是辛辛苦苦编完几百行的代码,运行,“Runtime Error “xxx””。
2014-12-26 18:37
renxiaoyao36
Rank: 9Rank: 9Rank: 9
来 自:七宝中学
等 级:贵宾
威 望:31
帖 子:347
专家分:1077
注 册:2014-9-18
收藏
得分:0 
我是这个意思——
客户端A登陆后,服务器的本地暂时存储文件内的内容是“Connected”,这时,客户端A制定发送信息XXXX给客户端B,但服务器的Sock.SendData只能给自己连接的IP发送信息,而不能给别的Sock连接的IP发送信息。如果在短时间内改变Sock.RemoteHost的参数确实可以达到发送信息给客户端B,但是此时客户端A被断开,客户端A的程序自动退出登录,我希望能够在不断开连接的情况下发送信息给客户端B,怎么办?

编程蛋疼的不是枯燥,而是辛辛苦苦编完几百行的代码,运行,“Runtime Error “xxx””。
2014-12-26 18:58
renxiaoyao36
Rank: 9Rank: 9Rank: 9
来 自:七宝中学
等 级:贵宾
威 望:31
帖 子:347
专家分:1077
注 册:2014-9-18
收藏
得分:0 
但是我不知道B用户对应的sock(我的所有sock都是自动分配的)

编程蛋疼的不是枯燥,而是辛辛苦苦编完几百行的代码,运行,“Runtime Error “xxx””。
2014-12-26 20:41
快速回复:VB关于WINSOCK的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013346 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved