服务端测试代码如下
package com.sun.server;import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;public class QCJChargeServerTest  extends Thread{
private Socket server;

public QCJChargeServerTest(Socket s){
this.server=s;
}
/**
 * @param args
 */
public static void main(String[] args) {
try {

ServerSocket serverSocket=new ServerSocket(1234);
Socket server=serverSocket.accept();
QCJChargeServerTest test=new QCJChargeServerTest(server);
test.start();



} catch (Exception e) {
e.printStackTrace();
}

}

private String getXML() throws Exception{
File file=new File("C:/Users/Administrator/Desktop/QCJChargeRes.xml");
String XMLMessage="";
InputStreamReader isr=new InputStreamReader(new FileInputStream(file), "utf8");
BufferedReader read=new BufferedReader(isr);
String temp;
while((temp=read.readLine())!=null){
XMLMessage=XMLMessage+temp;
}
return XMLMessage;
}
public void run(){
try {
DataInputStream dis=new DataInputStream(server.getInputStream());
//BufferedReader in=new BufferedReader(new InputStreamReader(server.getInputStream()));
//System.out.println(in.readLine());

System.out.println(dis.readUTF());
//dis.close();

String tcpHead="000A000100201311151311140100725F69D089A5FAD16DFE079940FFCCA1DD5";
String TCPMessage=tcpHead+this.getXML();
DataOutputStream dos=new DataOutputStream(server.getOutputStream());
dos.writeUTF(TCPMessage);
dos.flush();

//System.out.println(TCPMessage);
//System.out.println(TCPMessage);


}  catch (Exception e) {
e.printStackTrace();
}
}}客户端代码如下package com.sun.client;import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;public class QCJChargeMain extends Thread {
/**
 * 构造方法
 * @param ip
 * @param port
 */
private String ip;
private int port;
private Socket client;
public QCJChargeMain(String ip,int port){
this.ip=ip;
this.port=port;
}
/**
 * 初始化客户端
 * @param ip
 * @param port
 */
private void InitClient(String ip,int port){
try {
client=new Socket(ip,port);
} catch (Exception e) {

}
/**
 * 连接server端
 */
public void run(){
this.InitClient(ip, port);
try {
this.upload(client);
this.download(client);

} catch (Exception e) {
e.printStackTrace();
}finally{
try {
//client.close();
} catch (Exception e) {
e.printStackTrace();
}
}



}
private void upload(Socket client){
DataOutputStream dos = null;
try {
dos=new DataOutputStream(client.getOutputStream());
QCJChargeUpload upload=new QCJChargeUpload();
String TCPMessage=upload.QCJChargeUpload();
dos.writeUTF(TCPMessage);
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
dos.close();
} catch (IOException e) {
e.printStackTrace();
}
}

}
private void download(Socket client){
DataInputStream dis=null;
try {
dis=new DataInputStream(client.getInputStream());
String TCPMessage=dis.readUTF();
QCJChargeDownload download=new QCJChargeDownload(TCPMessage);

} catch (IOException e) {
e.printStackTrace();
}

}

public static void main(String[] args) {
QCJChargeMain main=new QCJChargeMain("127.0.0.1",1234);
main.start();
}}
socketjava