java.net.Socket should report the attempted address and port

Péter Gergely Horváth peter.gergely.horvath at gmail.com
Sun Apr 22 19:59:14 UTC 2018


Hi All,

I am wondering if it would be possible to make a minor improvement to the
way *java.net.Socket* reports connectivity errors and incorporate the
attempted address, port and the timeout used into the exception message.

The current implementation emits a generic error message, which is not that
helpful when one is operating a _large_ application. (Consider e.g. Big
Data or complex legacy systems written by someone else).

java.net.ConnectException: Connection refused (Connection refused)
at java.net.PlainSocketImpl.socketConnect(Native Method)
at
java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at
java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at
java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at java.net.Socket.connect(Socket.java:538)
at java.net.Socket.<init>(Socket.java:434)
at java.net.Socket.<init>(Socket.java:211)
at Sample.main(Sample.java:9)


I have looked into the JDK code base and implemented a patch that reports
the address, port and timeout used in the error message without touching
any native parts (see attached patch file). I have tested this (created my
own build of the JDK and run a sample application against it) and it seems
to work properly.

Would it be possible to incorporate this change into the official JDK code
base? I do believe it would help a lot of people out there.

Based on my understanding, once I have signed the OCA, I should simply
write an email to the group and request a sponsor to pick up this issue.
Could someone help me with this?

Thank you,
Peter
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/net-dev/attachments/20180422/37ef326d/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: socket.patch
Type: application/octet-stream
Size: 2159 bytes
Desc: not available
URL: <http://mail.openjdk.java.net/pipermail/net-dev/attachments/20180422/37ef326d/socket.patch>


More information about the net-dev mailing list