TCP发送代码:
这里采用try-with-resource机制进行关闭各种资源,可以节省很多代码,需要注意是,这里的关闭顺序是括号填入对象的逆序。
package com.wxy.tcpTest;
import java.io.IOException;
import java.io.OutputStream;
import java.net.Socket;
public class TcpSend {
public static void main(String[] args) throws IOException {
Socket socket = new Socket("127.0.0.1",10086);
OutputStream outputStream = socket.getOutputStream();
try (socket;outputStream){
String msg = "你好,这里来自TCP通讯";
outputStream.write(msg.getBytes());
}
System.out.println("完毕");
}
}
TCP接收代码:
package com.wxy.tcpTest;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class TcpReceive {
public static void main(String[] args) throws IOException {
ServerSocket socket = new ServerSocket(10086);
Socket accept = socket.accept();
InputStream inputStream = accept.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
try (socket;accept;inputStream;bufferedReader){
int read;
while (( read = bufferedReader.read()) != -1){
System.out.print((char) read);
}
}
}
}