1. 客户端
public static void main(String[] args) throws Exception {
Socket client = new Socket("192.168.31.97",7777);
InputStream is = client.getInputStream();
InputStreamReader isr = new InputStreamReader(is,"UTF-8");
BufferedReader br = new BufferedReader(isr);
OutputStream os = client.getOutputStream();
OutputStreamWriter osw = new OutputStreamWriter(os,"UTF-8");
PrintWriter pw = new PrintWriter(osw);
pw.println("服务端!我左少来了");
pw.flush();
String message = br.readLine();
System.out.println("服务器说:"+message);
pw.close();
br.close();
client.close();
}
2. 服务端
public static void main(String[] args) throws IOException {
ServerSocket server = new ServerSocket(7777);
System.out.println("服务端已启动");
Socket client = server.accept();
InputStream is = client.getInputStream();
InputStreamReader isr = new InputStreamReader(is,"UTF-8");
BufferedReader br = new BufferedReader(isr);
OutputStream os = client.getOutputStream();
OutputStreamWriter osw = new OutputStreamWriter(os,"UTF-8");
PrintWriter pw = new PrintWriter(osw);
String message = br.readLine();
System.out.println("客户端说:"+message);
pw.println("收到");
pw.flush();
pw.close();
br.close();
client.close();
server.close();
}
3.多线程服务端
ServerSocket server = new ServerSocket(8888);
System.out.println("服务端已启动");
while(true) {
Socket client = server.accept();
DataThread dt = new DataThread(client);
dt.start();
}
public class DataThread extends Thread{
private Socket client;
public DataThread(Socket client) {
this.client = client;
}
public void run() {
try {
InputStream is = client.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is,"UTF-8"));
while(true) {
String msg = br.readLine();
System.out.println(client.getInetAddress().getHostName()+"说:"+msg);
if(msg.equals("byebye")||msg.equals("886")) {
System.out.println(client.getInetAddress().getHostName()+"退出了聊天");
break;
}
}
}catch(Exception e) {
e.printStackTrace();
}
}
}
4. 客户端注册
public class Server2 {
private Properties userPros;
public Server2() {
userPros = new Properties();
File file = new File("Files\\userPros.properties");
if(file.exists()) {
try {
userPros.load(new FileReader(file));
} catch (Exception e) {
e.printStackTrace();
}
}
}
public void registerUser() {
try {
ServerSocket server = new ServerSocket(9999);
System.out.println("服务端启动。。。");
Socket client = server.accept();
BufferedReader br = new BufferedReader(new InputStreamReader(client.getInputStream()));
PrintWriter pw = new PrintWriter(new OutputStreamWriter(client.getOutputStream()));
String user = br.readLine();
String[] users = user.split("#");
String username = users[0];
String password = users[1];
if(userPros.containsKey(username)) {
pw.println("用户名存在,请重新注册");
pw.flush();
}else {
userPros.setProperty(username, password);
userPros.store(new FileWriter("Files\\userPros.properties"), "用户信息");
pw.println("注册成功");
pw.flush();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}