tcp通信面向连接,在客户端与服务端之间创建socket管道,可大量传输。
TCP客户端的发送消息:
1;创建客户端的Socket对象:与服务端连接;
public Socket (服务端的IP,对应的端口号).
2:使用Socket对象,调用getOutputStream()方法得到字节输出流,可以将其包装为PrintStream()打印流,以便于数据的录入。
3.使用流的相关方法完成数据的发送。
4.释放资源,关闭管道
import java.io.OutputStream;
import java.io.PrintStream;
import java.net.InetAddress;
import java.net.Socket;
public class TestDamo {
public static void main(String[] args) throws Exception {
Socket socket=new Socket(InetAddress.getLocalHost(),8080);
OutputStream os = socket.getOutputStream();
PrintStream ps=new PrintStream(os);
ps.print("hello");
socket.close();
os.close();
}
}
TCP服务端接收数据
1:使用构造器 public ServerSocket(端口号) 注册服务端的端口
2:使用ServerSocket的类成员方法:
public Socket accept()等待接受客户端的Socket连接
连接成功返回Socket对象
3:使用Socket对象,调用getInputStream()。
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class TestDamo2 {
public static void main(String[] args) throws Exception {
ServerSocket socket = new ServerSocket(8080);
Socket accept = socket.accept();
InputStream inputStream = accept.getInputStream();
System.out.println(new String(inputStream.readAllBytes()));
inputStream.close();
accept.close();
socket.close();
}
}
以上实现TCP通信的一发一收