📄 dicserver.java
字号:
import java.io.*;
import java.net.*;
public class DicServer extends Thread{
private Socket socket;
private DicService dicService;
// set the thread server
public void setDicService(DicService dicService) {
this.dicService = dicService;
}
public void setSocket(Socket socket) {
this.socket = socket;
}
//get the word which need to be translated and get the result from service.
public void run(){
try{
BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String word = reader.readLine().trim();
String result = "";
try{
// do the translate
result = (String)dicService.translate(word);
}catch(Exception e){
result = e.getMessage();
}
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
writer.write(result);
writer.newLine();
writer.flush();
reader.close();
writer.close();
}catch(SocketException e){
System.out.println("Connection disconnected!");
}
catch(Exception e){
e.printStackTrace();
}finally{
try{
socket.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
public static void main(String[] args)throws Exception{
int port = 0;
if(args.length == 1){
try{
port = Integer.parseInt(args[0]);
}catch(Exception e){
e.printStackTrace();
}
}
else{
System.out.print("Error port number!");
System.exit(0);
}
System.out.println("Dic server is running...");
ServerSocket serverSocket = new ServerSocket(port);
DicService dicService = new DicService();
while(true){
//whenever accept a connection
Socket socket = serverSocket.accept();
//create a thread to do dic service
DicServer dicServer = new DicServer();
dicServer.setSocket(socket);
dicServer.setDicService(dicService);
//do the dic service
//Thread.sleep(5000);//test the time out
dicServer.start();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -