Z zhuthesea Unregistered / Unconfirmed GUEST, unregistred user! 2008-07-22 #21 什么代理,找代理服务器的管理员,叫它把什么入侵检测系统什么的都卸了[8D],要不就换TSocketConnection
S scxujie Unregistered / Unconfirmed GUEST, unregistred user! 2008-07-22 #22 在代理服务器上建立一TCP 映射服务,将端口映射到你的服务器,客户访问他们的代理服务器。
S szhcracker Unregistered / Unconfirmed GUEST, unregistred user! 2008-07-22 #23 找个用代理上网的客户端,用ODBC建一个连接测试一下看能否连上,如果可以就用这种方法
N netwinds Unregistered / Unconfirmed GUEST, unregistred user! 2008-07-23 #24 to zhuthesea,scxujie<br> 找网管是能够解决问题,但因为我们这软件相当于公众软件,用的人较多,不可能所有都要网管去解决。所以想找个直接在软件中解决的方法。比如看能不能在软件中设置一下代理就可以通过之类的。<br><br>to szhcracker<br> ODBC没有测过,不过ODBC应该跟上面的连接是一样的吧.....
to zhuthesea,scxujie<br> 找网管是能够解决问题,但因为我们这软件相当于公众软件,用的人较多,不可能所有都要网管去解决。所以想找个直接在软件中解决的方法。比如看能不能在软件中设置一下代理就可以通过之类的。<br><br>to szhcracker<br> ODBC没有测过,不过ODBC应该跟上面的连接是一样的吧.....
S szhcracker Unregistered / Unconfirmed GUEST, unregistred user! 2008-07-24 #25 我想是不一样的,用ODBC连接,有很多问题操作系统会帮你解决的,就像你说的,客户用代理可以正常上网但不能连接数据库,我的一个C/S程序就是用ODBC方式的,用了很多家客户,虽然不知道他们的上网方式,但也没有连不上的。而且如果你用ODBC也连不上的话,那你得找找别的原因了。
我想是不一样的,用ODBC连接,有很多问题操作系统会帮你解决的,就像你说的,客户用代理可以正常上网但不能连接数据库,我的一个C/S程序就是用ODBC方式的,用了很多家客户,虽然不知道他们的上网方式,但也没有连不上的。而且如果你用ODBC也连不上的话,那你得找找别的原因了。
W wpy020327 Unregistered / Unconfirmed GUEST, unregistred user! 2008-08-10 #27 在客户端代理上网的机器(网关)上,另外运行一个小的代理程序,这个程序里你用于实现1433端口的代理,一方接内网客户端,一方接远程SQL Server,收到任何一方的信息时,无条件转发到另一方。 你客户端的机器连接数据库不需要直接连远程SQL,而是连接你的代理服务器的1433端口即可。<br><br>如果原来的代理服务器支持sock5等代理协议,则把上面的小的代理程序有关功能实现在你的客户端程序里实现,当然,代理部分不再直接连远程SQL Server,而是通过sock5连接远程SQL Server,你原来的客户端数据库连接也直接连接本程序中的1433端口。
在客户端代理上网的机器(网关)上,另外运行一个小的代理程序,这个程序里你用于实现1433端口的代理,一方接内网客户端,一方接远程SQL Server,收到任何一方的信息时,无条件转发到另一方。 你客户端的机器连接数据库不需要直接连远程SQL,而是连接你的代理服务器的1433端口即可。<br><br>如果原来的代理服务器支持sock5等代理协议,则把上面的小的代理程序有关功能实现在你的客户端程序里实现,当然,代理部分不再直接连远程SQL Server,而是通过sock5连接远程SQL Server,你原来的客户端数据库连接也直接连接本程序中的1433端口。
N netwinds Unregistered / Unconfirmed GUEST, unregistred user! 2008-08-10 #28 to wpy020327:<br>要的就是你所说这种思路,现在问题就是如何实现?我想把代理程序写在客户端里面,要如何实现,能不能给个例子,对这方面不熟!
W wpy020327 Unregistered / Unconfirmed GUEST, unregistred user! 2008-08-10 #29 1、用一个TServerSocket对象来监听本地客户端的1433端口<br><br>2、建一个任务表,里面包含表项状态、TCustomWinSocket、TClientSocket、发送方向标志、发送的数据块、当前进度标志等字段<br><br>3、建一个接收线程组,创建时挂起,用来专门接收信息,收到后保存到任务表,再激活一个发送线程<br><br>4、建一个发送线程组,创建时挂起,专门用来转发信息,从任务表取待发送状态的任务,转发数据<br><br>5、当有新的连接时,建一个任务表项,将传入的TCustomWinSocket保存到任务表项,进度标识为待接收,再用TClientSocket连接远程SQL Server(或通过Sock5代理服务器连接)<br><br>6、当有OnClientRead事件到来时,激活一个接收线程,进行数据接收<br><br>7、当任务表有待发送任务时,激活一个发送线程,进行数据转发<br><br>8、当一个客户端连接断开时,先将可能剩下的数据块发送到远程,然后断开对应的TClientSocket的连接,标志任务表项为未用。<br><br>9、程序退出时,释放所有对象
1、用一个TServerSocket对象来监听本地客户端的1433端口<br><br>2、建一个任务表,里面包含表项状态、TCustomWinSocket、TClientSocket、发送方向标志、发送的数据块、当前进度标志等字段<br><br>3、建一个接收线程组,创建时挂起,用来专门接收信息,收到后保存到任务表,再激活一个发送线程<br><br>4、建一个发送线程组,创建时挂起,专门用来转发信息,从任务表取待发送状态的任务,转发数据<br><br>5、当有新的连接时,建一个任务表项,将传入的TCustomWinSocket保存到任务表项,进度标识为待接收,再用TClientSocket连接远程SQL Server(或通过Sock5代理服务器连接)<br><br>6、当有OnClientRead事件到来时,激活一个接收线程,进行数据接收<br><br>7、当任务表有待发送任务时,激活一个发送线程,进行数据转发<br><br>8、当一个客户端连接断开时,先将可能剩下的数据块发送到远程,然后断开对应的TClientSocket的连接,标志任务表项为未用。<br><br>9、程序退出时,释放所有对象
N netwinds Unregistered / Unconfirmed GUEST, unregistred user! 2008-10-21 #30 to wpy020327:<br>能给个例子看看吗,我对这方面不熟,搞了很久搞不定!