一、面向连接:请求 request ---response
二、socket编程(例子:聊天室:中)
1、服务器 ServerSocket
2、客服端 Socket
例子:
/*
* 1、创建客户端 必须指定服务器+端口 此时就在连接
* 2、接收数据+发送数据
*/
public class Client {
public static void main(String[] args) throws UnknownHostException, IOException {
//1、创建客户端 必须指定服务器+端口 此时就在连接
Socket client = new Socket("localhost",8888);
//2.接收数据
// BufferedReader br = new BufferedReader(new InputStreamReader(client.getInputStream()));
// String ceho = br.readLine();//堵塞式
// System.out.println(ceho);
DataInputStream das = new DataInputStream(client.getInputStream());
String echo = das.readUTF();
System.out.println(echo);
}
}
* 1、创建服务器+端口
* 2、接收客服端的连接
* 3、发送数据+接收数据
* 4、接收多个客服端
*/
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class MultiServer {
public static void main(String[] args) throws IOException {
// 1、创建服务器+端口
ServerSocket server = new ServerSocket(8888);
// 2、接收客服端的连接 堵塞式
while (true) {//死循环 一个accept一个客服端
Socket socket = server.accept();
System.out.println("一个客户端建立连接");
String msg ="欢迎使用";
// BufferedWriter br = new BufferedWriter(
// new OutputStreamWriter(
// socket.getOutputStream()));
// br.write(msg);
// br.newLine();
// br.flush();
DataOutputStream dos = new DataOutputStream(socket.getOutputStream());
dos.writeUTF(msg);
dos.flush();
}
}
}