⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 socketserverthread.java.svn-base

📁 梦界家园程序开发基底框架
💻 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 + -