📄 serverthread.java
字号:
package com.watch;
import java.io.*;
import java.net.*;
import javax.servlet.http.HttpSession;
public class ServerThread extends Thread {
private Server server = null;
private Socket socket = null;
private OperatorApplet applet = null;
public ServerThread(Socket socket, Server server, OperatorApplet applet) {
super("ServerThread"); //服务器一直执行同一线程
this.socket = socket;
this.server = server;
this.applet = applet;
}
public void run() {
try {
DataInputStream addResult;
addResult = new DataInputStream(
new BufferedInputStream(socket.getInputStream())); //读取发送信息的客户端的输入流
byte buffer[] = new byte[1024];
int byteCount = 0;
String result = "";
while ((byteCount = addResult.read(buffer, 0, 1024)) != -1) { //把输入流中有信息则读取到字节缓冲区
result = new String(buffer, 0, byteCount); //把字节转换成GBK编码的字符串
System.out.println("服务器接收信息....." + result);
if ("con".equals(result)) {
applet.setMsg(result);
server.send("000000");
}
else if("woaini".equals(result))
Server.listening = false;
else{
System.out.println("*******msg*********");
applet.setMsg(result);
System.out.println("***do send***");
server.send("success"); //向客户端发送
}
}
try {
Thread.sleep(500);
} catch (InterruptedException ex1) {
}
} catch (IOException ex) {
System.out.println("SeverThread no data");
} finally {
Close(); //断开发送信息的客户端socket
}
}
/**
* 关闭socket
*/
private void Close() {
try {
server.removeClient(socket);
socket.close();
} catch (Exception ex) {
System.out.println("ServerThread removeClient:" + ex);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -