Tag: connection

TIME_WAIT中的tcp连接将不允许重新连接,java

在与服务器建立TCP连接后,我关闭了我的linux应用程序并调用了Socket.close()。 检查netstat -pant,我看到连接处于TIME_WAIT状态。 这使我无法立即连接回服务器,因为我使用相同的端口进行连接。 相反,我必须等待连接到TIME_WAIT状态的超时,然后才能重新连接。 我用套接字方法玩了很多运气 – set_so_timeout(),set_keepalive(),set_so_linger()和set_reuseaddr() – 这篇文章的确切拼写可能不正确。 我的问题是如何从TIME_WAIT状态获得连接,以便我可以立即重新建立连接? 请告诉我。 谢谢,jbu

获取TDS驱动程序 – java.lang.NullPointerException。 这种例外不一致

从3或4个线程调用方法时,我遇到exception。 此方法在方法内部获取DataBase连接并从DB填充一些值,然后连接(connection,resultset和prepareStatement)仅在方法内正确关闭。 仍然有例外。 Thread_1 – 调用abc()方法。 连接打开和关闭内部方法。 Thread_2 – 调用abc()方法。 连接打开和关闭内部方法。 Thread_3 – 调用abc()方法。 连接打开和关闭内部方法。 我不清楚为什么即使正确打开和关闭连接也会发生exception。 DataBase – Ms sql,Java – 1.6,apache-tomcat 6。 主要的是它不一致,有时会发生exception,有时则不会。 1. Exception – com.inet.tds.am: [TDS Driver]java.lang.NullPointerException at com.inet.tds.aj.a(Unknown Source) at com.inet.tds.rg(Unknown Source) at com.inet.tds.r.executeQuery(Unknown Source) at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:93) 2. Exception – java.sql.SQLException: Connection is closed. at org.apache.tomcat.dbcp.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.checkOpen(PoolingDataSource.java:175) at org.apache.tomcat.dbcp.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.prepareStatement(PoolingDataSource.java:301) 请告知此事。

当我调用connect()时,Java HttpURLConnection无法连接

我正在尝试编写一个程序来对我的webapp进行自动化测试。 为此,我使用HttpURLConnection打开连接。 我正在尝试测试的其中一个页面执行302重定向。 我的测试代码如下所示: URL currentUrl = new URL(urlToSend); HttpURLConnection connection = (HttpURLConnection) currentUrl.openConnection(); connection.connect(); system.out.println(connection.getURL().toString()); 所以,假设urlToSend是http://www.foo.com/bar.jsp ,并且该页面将您重定向到http://www.foo.com/quux.jsp 。 我的println语句应该打印出来http://www.foo.com/quux.jsp ,对吗? 错误。 重定向永远不会发生,并打印出原始URL。 但是,如果我通过调用connection.getResponseCode()更改切换出connection.connect()行,它就会神奇地起作用。 URL currentUrl = new URL(urlToSend); HttpURLConnection connection = (HttpURLConnection) currentUrl.openConnection(); //connection.connect(); connection.getResponseCode(); system.out.println(connection.getURL().toString()); 为什么我看到这种行为? 我做错了吗? 谢谢您的帮助。