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

📄 socketfactory.java

📁 用java开发的一些实用的短信通信模块其中包含MD5加密、http发送等信息
💻 JAVA
字号:
package lib.commons.net;

import java.io.IOException;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.Socket;
import java.net.SocketAddress;
import java.net.SocketException;
import java.net.UnknownHostException;

import org.apache.commons.httpclient.ConnectTimeoutException;
import org.apache.commons.httpclient.params.HttpConnectionParams;
import org.apache.commons.httpclient.protocol.ProtocolSocketFactory;

import lib.commons.config.DomConfig;

public class SocketFactory implements ProtocolSocketFactory {
	public Socket createSocket(String address, int port, int connectionTimeout,
			int readTimeout) throws IOException, UnknownHostException,
			ConnectTimeoutException {
		if (connectionTimeout < 1 && readTimeout < 1)
			return createSocket(address, port);
		else {
			HttpConnectionParams params = new HttpConnectionParams();
			if (connectionTimeout > 0)
				params.setConnectionTimeout(connectionTimeout);
			if (readTimeout > 0)
				params.setSoTimeout(readTimeout);
			return createSocket(address, port, null, 0, params);
		}
	}

	public Socket createSocket(String arg0, int arg1) throws IOException,
			UnknownHostException {
		return createSocket(arg0, arg1, null, 0);
	}

	public Socket createSocket(String arg0, int arg1, InetAddress arg2, int arg3)
			throws IOException, UnknownHostException {
		return createSocket(arg0, arg1, arg2, arg3, null);
	}

	public Socket createSocket(String arg0, int arg1, InetAddress arg2,
			int arg3, HttpConnectionParams arg4) throws IOException,
			UnknownHostException, ConnectTimeoutException {
		Socket socket = new Socket();
		//if (null != arg2) {
		//	socket.bind(new InetSocketAddress(arg2, arg3));
		//}
		SocketAddress endpoint = new InetSocketAddress(arg0, arg1);
		if (null != arg4 && arg4.getConnectionTimeout() > 0)
			socket.connect(endpoint, arg4.getConnectionTimeout());
		else
			socket.connect(endpoint);
		if (null != arg4)
			setSocketParams(socket, arg4);
		return socket;
	}

	public SocketFactory createInstance(DomConfig domConfig) throws Exception {
		return new SocketFactory();
	}

	public static void setSocketParams(Socket socket,
			HttpConnectionParams params) throws SocketException {
		
		if (null != socket && null != params) {
			//socket.setSoLinger(params.getLinger() > 0, params.getLinger());
			//if (params.getSendBufferSize() > 0)
			//	socket.setSendBufferSize(params.getSendBufferSize());
			//if (params.getReceiveBufferSize() > 0)
			//	socket.setReceiveBufferSize(params.getSendBufferSize());
			if (params.getSoTimeout()>0)
				socket.setSoTimeout(params.getSoTimeout());
			//socket.setTcpNoDelay(params.getTcpNoDelay());
		}
		
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -