日期:2014-05-20 浏览次数:20731 次
package SocketDemo; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.PrintWriter; import java.net.Socket; import java.net.UnknownHostException; public class loginClient { public static void main(String[] args){ try {//建立客户端socket连接 ,指定服务器位置,急端口 Socket socket=new Socket("localhost",8888); //得到socket的读写流 OutputStream os=socket.getOutputStream(); PrintWriter pw=new PrintWriter(os); //输入流 InputStream is=socket.getInputStream(); BufferedReader br=new BufferedReader(new InputStreamReader(is)); String info="用户名:tom;用户密码:123456"; pw.write(info); pw.flush(); socket.shutdownOutput();//关闭输出流 //接受服务器响应 String reply=null; while(!((reply=br.readLine())==null)){ System.out.println("我是客户端!!服务器端的响应是"+reply); } br.close(); is.close(); pw.close(); os.close(); socket.close(); } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
package SocketDemo; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; public class LoginServer { public static void main(String [] args){ try { //建立服务器Socket对象,绑定端口开始监听,建议使用大于1024端口 ServerSocket ss=new ServerSocket(8888); //使用accpet方法阻塞等待监听,获得连接 Socket socket=ss.accept(); //获得输入流 InputStream is=socket.getInputStream(); BufferedReader br=new BufferedReader(new InputStreamReader(is)); //获得输出流 OutputStream os=socket.getOutputStream(); PrintWriter pw=new PrintWriter(os); // 读取输入信息 String info=null; while(!((info=br.readLine())==null)){ System.out.println("我是服务器!!用户信息为"+info); } String reply="welcome"; pw.write(reply); pw.flush(); pw.close(); os.close(); br.close(); is.close(); socket.close(); ss.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }