Java socket简单实例
1.[代码]服务器端
package com.yao.socket;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
/**
* 服务器端
* @author yaokj
*
*/
public class MyServer {
public static void main(String[] args) {
ServerSocket server = null;
Socket client = null;
BufferedReader in = null;
PrintWriter out = null;
try {
server = new ServerSocket(2048);
client = server.accept();
in = new BufferedReader(new InputStreamReader(
client.getInputStream()));
out = new PrintWriter(client.getOutputStream());
while (true) {
String acceptStr = in.readLine();
System.out.println("has get the string,acceptStr: " + acceptStr);
out.println("receive string.");
out.flush();
if (acceptStr != null && acceptStr.equalsIgnoreCase("end")) {
System.out.println("end.");
break;
}
}
} catch (IOException e) {
System.out.println(e);
} finally {
out.close();
try {
in.close();
client.close();
server.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
2.[代码]客户端
package com.yao.socket;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.Socket;
/**
* 客户端
* @author yaokj
*
*/
public class MyClient {
public static void main(String[] args) {
Socket server = null;
BufferedReader in = null;
PrintWriter out = null;
BufferedReader wt = null;
try{
server = new Socket(InetAddress.getLocalHost(),2048);
in = new BufferedReader(new InputStreamReader(server.getInputStream()));
out = new PrintWriter(server.getOutputStream());
wt = new BufferedReader(new InputStreamReader(System.in));
while(true){
String input = wt.readLine();
out.println(input);
out.flush();
if(input != null && input.equalsIgnoreCase("end")){
System.out.println("over.");
break;
}
System.out.println(in.readLine());
}
}catch(IOException e){
System.out.println(e);
}finally{
out.close();
try {
wt.close();
out.close();
in.close();
server.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}