1、TCP传输:
1.客户端
- 创建Socket链接服务端(指定ip地址,端口号),通过ip地址找到对应的服务器
- 调用Socket的getInputStream和getOutputStream方法获取和服务器端相连的IO流
2.服务器端
- 创建ServerSocket(指定端口号)
- 调用ServerSocket的accept方法接收一个客户端请求,得到一个Socket
- 调用Socket的getInputStream和getOutputStream方法获取和客户器端相连的IO流
注:这里按照上面的步骤就可以通信了,然后我们用bufferedReader和printStream包装一下getInputStream和getOutputStream(具体如图所示,应该很简洁明了)
测试代码如下(要先开服务端):
Tcp_client
package SocketCollection;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.Socket;
import java.net.UnknownHostException;
public class Tcp_client {
public static void main(String[] args) throws UnknownHostException, IOException {
Socket socket = new Socket("127.0.0.1",12345);
BufferedReader bre = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintStream ps = new PrintStream(socket.getOutputStream());
ps.println("我是小雨,我爱你,你爱我么?");
System.out.println(bre.readLine());
socket.close;
}
}
Tcp_server
package SocketCollection;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;
public class Tcp_server {
public static void main(String[] args) throws IOException {
ServerSocket server = new ServerSocket(12345);
Socket socket = server.accept();
BufferedReader bre = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintStream ps = new