📄 socketserverthread.java.svn-base
字号:
package jm.net.sv;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.net.Socket;
import jm.net.ServerProcessor;
import jm.net.common.CommonKeys;
import jm.util.JMFolder;
import jm.util.JMInputStream;
import jm.util.JMOutputStream;
import jm.util.JMRpcThread;
/**
* ServerThread
* @author spook
* @version 1.2.1
*/
public class SocketServerThread extends JMRpcThread implements CommonKeys {
final String CLASS_NAME = "SvThread";
private Socket clinetSocket_;
private BufferedInputStream in_;
private BufferedOutputStream out_;
public SocketServerThread(Socket asclinetSocket) {
// final String sMethod = "ServerThread";
clinetSocket_ = asclinetSocket;
try {
in_ = new BufferedInputStream(clinetSocket_.getInputStream());
out_ = new BufferedOutputStream(clinetSocket_.getOutputStream());
start();
} catch (Exception ex) {
try {
clinetSocket_.close();
} catch (Exception exx) {
}
}
}
public void setConnectBufferSize(int size) {
size_ = size;
}
int size_ = SIZE_1K;
byte[] dataStream_ = null;
// 数据通信
public void run() {
// final String sMethod = "run";
try {
// 获得数据
dataStream_ = new byte[size_];
in_.read(dataStream_);
JMInputStream _inStream = new JMInputStream(dataStream_);
JMFolder _in = new JMFolder(_inStream);
String className = _in.getStringValue(CONNECT_CLASS_NAME);
ServerProcessor _serverProcessor = (ServerProcessor) (Class
.forName(className).newInstance());
// 运行通信
JMFolder _out = _serverProcessor.doProcessor(_in);
// 接收结果
JMOutputStream _outStream = new JMOutputStream();
_out.serializeTo(_outStream);
dataStream_ = null;
out_.write(_outStream.toByteArray());
out_.flush();
} catch (Exception exx) {
exx.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -