package com.socket;
import java.net.*;
import java.io.*;
public class ConnClient {
public static void main(String[] args) throws IOException {
InetAddress addr = InetAddress.getByName(null);
System.out.println("addr = " + addr);
Socket socket = new Socket(addr, 8080);
//socket.setSoTimeout(5000);
try {
System.out.println("socket = " + socket);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter clientout = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())),true);
String strSend = "hello";
clientout.println(strSend);
//clientout.println("\r\n");
//clientout.println();
//clientout.close();
StringBuffer sbuf = new StringBuffer();
char[] buff = new char[10];
int iLen = in.read(buff);
while (iLen>0) {
sbuf.append(buff,0,iLen);
if (sbuf.toString().trim().equals(strSend)){
System.out.println(sbuf.toString());
break;
}
iLen = in.read(buff);
}
}catch(Exception e){
e.printStackTrace();
} finally {
System.out.println("closing...");
socket.close();
}
}
}
server端代码:
package com.socket;
import java.io.*;
import java.net.*;
public class ConnServer {
public static final int PORT = 8080;
public static void main(String[] args) throws IOException {
ServerSocket s = new ServerSocket(PORT);
System.out.println("Started: " + s);
try {
Socket socket = s.accept();
try {
System.out.println("Connection accepted: "+ socket);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter serverout = new PrintWriter(new BufferedWriter( new OutputStreamWriter(socket.getOutputStream())),true);
StringBuffer sbuf = new StringBuffer();
char[] buff = new char[10];
iLen = in.read(buff);
while(iLen>0){
sbuf.append(buff,0,iLen);
if(sbuf.toString().trim().equals("hello")){
System.out.println("Echoing: " + sbuf.toString());
serverout.println(sbuf.toString());
}
iLen = in.read(buff);
}
}catch(Exception e) { e.printStackTrace();}
finally {
System.out.println("closing...");
socket.close();
}
} finally {
s.close();
}
}
}
<p class="indent">
|