首页 新闻 会员 周边

jdbc连接数据库,能否指定客户端的ip和port?

0
悬赏园豆:5 [已解决问题] 解决于 2016-05-18 18:39
jdbc连接数据库,需要数据库打开特定的端口监听请求。
但如何指定client的ip和port呢?如果server只服务特定ip和端口的请求,并根据ip和port来维护这个长连接。
理论上jdk中的socket是可以指定ip和port的,所以应该有解决方案。以mysql为例,该驱动中是否提供了接口可以设置客户端的ip和端口?
问题补充:

可能我的描述重心错了,问题在客户端。

现在服务端已经实现只接受特定客户端ip和port的功能。而且服务端不可更改。

 

现在想用客户端连接服务端。因为jar包中客户端选用的ip和开启的端口是都随机的,随出来的端口不被服务端接受,也就无法建链。怎样才能让客户端使用特定的ip,开启固定的端口?

 

想到了连接池,如果只配置一条链接就可以复用,长连接也不会断掉。但还是不能指定端口。

 

提问时以mysql驱动为例,其实遇到的并不是jdbc,而是ldap协议,该协议与http类似,一次请求完毕就关闭了tcp链路,不满足server的要求。

 

openldap的客户端,不管是jdk中开放的接口,还是spring-ldap模块中的各种配置,都没有发现能够指定客户端ip和port的设置项。

许仙儿的主页 许仙儿 | 初学一级 | 园豆:198
提问于:2013-07-03 22:39
< >
分享
最佳答案
1

dudu大人的确实可以,这样不用从业务逻辑上来划分!

该驱动中貌似没有!

1.我想到还有一个办法,应该可以通过过滤器来实现,request过来的时候我们就获取它的ip+port灵活性大点,那你就建立一个白名单的数据库表,检查是否为白名单中的ip+port ,是就提供一个connection,否就放弃!

不知可行否?

收获园豆:5
Beyond-bit | 老鸟四级 |园豆:2885 | 2013-07-04 08:59
其他回答(1)
0

只能通过服务器的防火墙指定客户端IP

dudu | 园豆:31007 (高人七级) | 2013-07-04 07:20
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册