客户端:
try{
System.out.println(SocketIP+"---"+SocketPort);
socket = new Socket(SocketIP,SocketPort);
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
out = new PrintWriter(socket.getOutputStream(),true);
out.print(str);
out.flush();
String line = null;
while((line = in.readLine())!=null)
resultbf = resultbf.append(line);
logger.info("socket返回消息为:"+resultbf);
//System.out.println("socket返回消息为:"+resultbf);
out.close();
in.close();
socket.close();
}catch (IOException e){
System.out.println(SocketIP);
System.out.println(SocketPort);
System.out.println("IO流出错。");
e.printStackTrace();
}
服务端:
package com.common;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileWriter;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
public class ChildThread implements Runnable{
private Socket client;
public Socket getClient() {
return client;
}
public void setClient(Socket client) {
this.client = client;
}
public ChildThread(Socket client){
this.client=client;
}
@Override
public void run() {
try{
BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
PrintWriter out = new PrintWriter(client.getOutputStream());
int c = 0;
StringBuffer resultbf = new StringBuffer();
String str ="";
while((c=in.read())!=-1){
//System.out.println((char)c);
resultbf.append((char)c);
if(resultbf.toString().indexOf("ZZZZ")>0){
break;
}
}
System.out.println(resultbf.toString());
out.print("返回值");
out.flush();
client.close();
}catch(Exception e){
System.out.println("Socket出错了");
e.printStackTrace();
}
}
}
package com.test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import com.common.ChildThread;
public class Test5 {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
ServerSocket server = new ServerSocket(5678);
while(true){
Socket client = server.accept();
ChildThread cth = new ChildThread(client);
Thread t = new Thread(cth);
t.start();
}
}
}