日期:2014-05-20 浏览次数:20900 次
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();
}
}
}