请教关于vb中的winsock有时连接不上的问题
连不上的原因可能是:
1、一方断开链接以后,另一方没有进入listen状态。
2、某一方发生错误的时候,没有关闭winsock并重连
3、遇到错误时,应该使用一个timer来重启一下你的winsock
不明白的欢迎+百度HI
重复使用同一个套接字绑定的端口IP组合了。往往提示这个是你实例化的时候出的问题,看你函数定义的名字,大概你是想封装起来调用,每次收到新连接然后直接调用TCPlisten()得到连接然后回调处理吧。如果是我说的这种情况,那么你函数不能这么写,因为new就代表你每次调用这个函数就对这个全局对象进行了一次实例化操作,而且还是针对同一个套接字IP端口组合进行,就会报错,因为你一开始监听但没有结束并释放它的话,这个是一直保持占用的。如果想直接每次监听就直接用TCPlisten(),那么你需要把listener的实例化从这个函数中提取出来,单独做初始化对象处理。更何况你指的是多客户端。
首先得建立ODBC数据源!步骤如下:
1 在资源管理器或者 我的电脑中,进入到控制面板-管理工具,可以看到“数据库ODBC项”。
2 双击“数据源(ODBC)”项,进入到数据源的配置。
3 要想创建一个指定的数据库,点“添加按钮”,将出现数据源类型选择对话框, 在这一部中,你一定要写明连接的是SQL Server 还是Aceess。
4点完成,进入到建立不同数据源的配置项或配置向导,注意,不同的数据库,配置界面有所不同。我介绍的是SQL ,首先要输入数据源的名称,描述信息和指定服务器
5 下一部,进入到SQL连接的安全验证,可以选择以Windows NT验证方式或者SQL登陆的方式。
6再点击下一部,安全通过后,进行SQL数据库的连接。
7 继续进行下一部操作,进行一些系统消息语言,日志等配置,一般保持为默认方式。
8点完成按钮,将提示一些总结信息,并可以执行数据与数据库的连接测试。
这是建立ODBC数据源的步骤,下面还得在模块里面把ADO连接的代码写好,才能真正连上,代码如下:
private sub command_click()
dim a as connection
set a = new connection
aconnectstring="DSN=Pubs;UID=sa;PSW"
aopen
end sub
这有的地方你得自己改改,因为我和你机子不一样!
自己调试吧,好的程序都是调试出来的!
最近测试过程中,老需要远程登录到外网的一套服务器上面做测试,但是因为不少开发GG也在上面部署新的代码,所以互相T来T去的,着实比较痛苦和纠结。。
今天终于找到一个临时的解决办法,就是偶在万不得已的情况下再远程登录,如果只涉及数据库操作(测试数据查询,修改等),可以在本地连接服务器上面的数据库。
1安装putty,plink(最好放到C:\Documents and Settings\administrator目录下)
2如果在安装在其他目录下,从命令行进入 puttyexe 所在的目录
3在命令行执行 plink -L 50081:1921680:1433 -l dev -pw mozat 210193(这条命令是映射本地端口50081 到1921680:1433)
4打开sql servermanagement studio,输入服务器:127001,50081,数据库用户名/密码,连接即可
5然后在另一个命令行窗口中执行 mstsc /v:localhost:1433 /admin 即可进行远程登录
其中1433是连接默认的那个数据实例,可按需更改你需要连接的数据实例;50081可以随便使用,尽量用大一些,以免和其他的冲突,当然不要大于6W多就好
这样就不要远程登录到服务器才能进行数据库操作了。
0条评论