1、先建立服务器端,服务器端阻塞式接受客户端连接
2、拿到客户端socket对象操作输入输出流
package TCPTest;
import java.io.DataInputStream;
import java.io.DataOutput;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
/**
* 创建客户端
* 1、建立连接 使用Socket创建客户端,需要指定服务器的地址和端口
* 3、操作:输入输出流操作
* 4、释放资源
*/
public class Client {
public static void main(String[] args) throws IOException {
// 1、建立连接 使用Socket创建客户端,需要指定服务器的地址和端口
Socket client = new Socket("localhost", 8888);
// 3、操作:输入输出流操作
DataOutputStream dos = new DataOutputStream(client.getOutputStream());
String data = "hello";
dos.writeUTF(data);
dos.flush();
DataInputStream dis = new DataInputStream(client.getInputStream());
System.out.println(dis.readUTF());
// 4、释放资源
dos.flush();
client.close();
}
}
package TCPTest;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
/**
* 创建服务器
* 1、指定端口 使用serverSocket创建服务器
* 2、阻塞式等待连接 accept
* 3、操作:输入输出流操作
* 4、释放资源
*/
public class Server {
public static void main(String[] args) throws IOException {
// 1、指定端口 使用serverSocket创建服务器
ServerSocket server = new ServerSocket(8888);
// 2、阻塞式等待连接 accept
Socket client = server.accept();
System.out.println("一个客户端建立了连接");
// 3、操作:输入输出流操作
DataInputStream dis = new DataInputStream(client.getInputStream());
String data = dis.readUTF();
System.out.println(data);
DataOutputStream dos = new DataOutputStream(client.getOutputStream());
dos.writeUTF("滚");
dos.flush();
// 4、释放资源
dis.close();
client.close();
}
}
网友评论