java - SocketException: Connection reset after reconnect -
if start server first , client works perfect, when start client first , server(making sure client able connect when svr crashes , goes online again) client connect server, after 2,3 seconds throws socketexception: connection reset. don't know causing , apprechiate if me figure out.
server code handles clients:
public serverhandler(socket socket){ try{ pw = new printwriter(socket.getoutputstream()); writerholder[usercounter] = pw; inputstreamreader in = new inputstreamreader(socket.getinputstream()); reader = new bufferedreader(in); usercounter++;// increment number of people connected }catch(exception ex) { ex.printstacktrace(); } }
client code connects server:
private void startconnection() { try { sock = new socket("192.168.1.5", 5000); inputstreamreader input = new inputstreamreader(sock.getinputstream()); reader = new bufferedreader(input); pw = new printwriter(sock.getoutputstream()); joptionpane.showmessagedialog(null, "connected server!"); }catch(ioexception ex) { //timer.reconnecttimer(20); ex.printstacktrace(); } }
stacktrace:
java.net.socketexception: connection reset @ java.net.socketinputstream.read(unknown source) @ java.net.socketinputstream.read(unknown source) @ sun.nio.cs.streamdecoder.readbytes(unknown source) @ sun.nio.cs.streamdecoder.implread(unknown source) @ sun.nio.cs.streamdecoder.read(unknown source) @ java.io.inputstreamreader.read(unknown source) @ java.io.bufferedreader.fill(unknown source) @ java.io.bufferedreader.readline(unknown source) @ java.io.bufferedreader.readline(unknown source) @ homecontrol.serverhandler.run(serverhandler.java:52) @ java.lang.thread.run(unknown source)
"connection reset" means remote side closed side of socket without reading data sent. make sure read data sent before close socket.
Comments
Post a Comment