📄 socketthread.java
字号:
package server;
/*********************************SocketThread **********************/
import java.io.*;
import java.net.*;
import java.util.*;
public class SocketThread implements Runnable {
public Socket socke;
public DataInputStream dis;
public DataOutputStream dos;
public Sender sender;
Calendar date;// =
// Calendar.getInstance(TimeZone.getTimeZone("Asia/ShangHai"));
public SocketThread(Socket sok) {
socke = sok;
}
public void start() {
Thread t = new Thread(this);
t.start();
}
public void run() {
try {
socke.setKeepAlive(true);
dis = new DataInputStream(socke.getInputStream());
dos = new DataOutputStream(socke.getOutputStream());
sender = new Sender(dos);
while (true) {
StringBuffer sb = new StringBuffer();
char c;
while ((c = dis.readChar()) != '\n' && c != -1)
sb.append(c);
if (c == -1)
break;
date = Calendar.getInstance(TimeZone
.getTimeZone("Asia/ShangHai"));
String ljnTime = "(" + date.get(Calendar.YEAR) + "/"
+ (date.get(Calendar.MONTH) + 1) + "/"
+ date.get(Calendar.DATE) + " "
+ date.get(Calendar.HOUR_OF_DAY) + ":"
+ date.get(Calendar.MINUTE) + ":" + date.get(Calendar.SECOND)
+ ")";
String acceptMsg = sb.toString();
System.out.println(ljnTime + acceptMsg);
ServerMain.sendEveryone(acceptMsg);
}
stop();
ServerMain.removeObject(this);
} catch (IOException ioe) {
} catch (Exception e) {
e.printStackTrace();
}
}
public void stop() {
try {
if (sender != null)
sender.stop1();
if (dis != null)
dis.close();
if (dos != null)
dos.close();
if (socke != null)
socke.close();
} catch (IOException ioe) {
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -