最近工作需要,做了一点Socket通讯的东西,积累一点经验,与大家共分享
其中通过短连接方式接收Socket返回消息,死循环,分别判断接收和超时,来确定连接连接状况
通过字节流的形式获取socket返回消息,主要是因为通过readline的方式,在我们系统通讯中存在异常。
具体客户端代码如下:
import java.net.*;
import java.io.*;
import org.apache.log4j.Logger;
public class SocketClient {
static Logger log = Logger.getLogger(SocketClient.class.getName()); //日志记录信息
private String hostName;
private int portNum;
private int delaySecond; // 发文接收返回报文延时
public SocketClient() {
this.hostName = "192.168.0.1";
this.portNum = 7000;
this.delaySecond = 50000;
pFileOp = null;
}
private Socket getSocket() {
Socket socket = null;
try {
socket = new Socket(hostName, portNum);
} catch (UnknownHostException e) {
System.out.println("-->未知的主机名: