-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathTalkServer.java
More file actions
61 lines (47 loc) · 1.92 KB
/
TalkServer.java
File metadata and controls
61 lines (47 loc) · 1.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
package com.cpucode.java;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
/**
* @author : cpucode
* @date : 2021/7/19
* @time : 11:33
* @github : https://github.com/CPU-Code
* @csdn : https://blog.csdn.net/qq_44226094
*/
public class TalkServer {
public static void main(String[] args) throws Exception {
String readline = null;
String inTemp = null;
//String outTemp = null;
String turnLine = "\n";
final String client = "Client:";
final String server = "Server:";
int port = 11000;
//首先直接创建serversocket
ServerSocket serverSocket = new ServerSocket(port);
//调用服务器的accept()进行阻塞(程序会在这等待),当有申请连接时会打开阻塞并返回一个socket
Socket socket = serverSocket.accept();
//创建三个流,系统输入流BufferedReader systemIn,socket输入流BufferedReader socketIn,socket输出流PrintWriter socketOut;
BufferedReader systemIn = new BufferedReader(new InputStreamReader(System.in));
BufferedReader socketIn = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter socketOut = new PrintWriter(socket.getOutputStream());
while (readline != "bye") {
inTemp = socketIn.readLine();
System.out.println(client + turnLine + inTemp);
System.out.println(server);
readline = systemIn.readLine();
socketOut.println(readline);
socketOut.flush(); //赶快刷新使Client收到,也可以换成socketOut.println(readline, ture)
//outTemp = readline;
//System.out.println(server);
}
systemIn.close();
socketIn.close();
socketOut.close();
socket.close();
serverSocket.close();
}
}