java中TCP怎么重连,发送数据?

s = new Socket(this.getIp(),61111);
pw = new PrintWriter(s.getOutputStream(),true);
pw.println(str);
pw.println(str2);
pw.println(str3);


上面是部分TCP。
1、我用TCP发送数据,上面有3次发送。但是假设在
pw.println(str2);时断开了连接。
我想要重新连接S(不通过new Socket(.....)),可不可以,怎么连(请写几句代码)??

2、发送数据时pw的println()和print()有什么区别啊?
3、如果我想发送byte[]数组,该怎么弄?

1、我用TCP发送数据,上面有3次发送。但是假设在
pw.println(str2);时断开了连接。
我想要重新连接S(不通过new Socket(.....)),可不可以,怎么连(请写几句代码)??

参考tcp protocol spec

2、发送数据时pw的println()和print()有什么区别啊?
参考javadoc

3、如果我想发送byte[]数组,该怎么弄?
参考outputstream和writer的区别

你需要监测网络断开,一般来说在无论是服务器,还是客户端都会将对数据的接收放在一个线程中,同时在此线程中完成对 TCP 断开的监测。

java socket判断连接中断