该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
package Book3.网络编程;
import java.io.*;
import java.net.*;
/**
* 模拟服务器
* @author asus
*服务器类
*/
public class ServerLogin {
public static void main(String[] args) {
//1创建一个serversocket对象
try {
ServerSocket ss=new ServerSocket(8002);
//2监听客户端请求accept()方法
Socket socket=ss.accept();
//3打开输入流 处理客户请求
InputStream is=socket.getInputStream();
BufferedReader reader =new BufferedReader(new InputStreamReader(is));
String info=null;
while((info=reader.readLine())!=null){
System.out.println("我是服务器,客服端信息为:"+info);
}
socket.shutdownInput();
//服务器给客服端一个响应
OutputStream os=socket.getOutputStream();
//(1)打开一个输出流,发送数据
String a="欢迎您登入成功\r\n666";
os.write(a.getBytes());
socket.shutdownOutput();
//4关闭资源
reader.close();
is.close();
socket.close();
ss.close();
os.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
package Book3.网络编程;
/**
* 模拟客户端
* @author asus
*客户端类
*/
import java.net.*;
import java.io.*;
public class ClinetLogin {
public static void main(String[] args) {
//1创建Socket对象(指定服务器的IP地址,端口号)localhost--本地主机
try {
Socket socket=new Socket("localhost",8002);
//2打开输出流
OutputStream os=socket.getOutputStream();
//3发送请求
String info="用户名:TOM,密码:1234";
os.write(info.getBytes());
socket.shutdownOutput();
//接收服务器反馈
//(1)输入流
InputStream is=socket.getInputStream();
BufferedReader reader =new BufferedReader(new InputStreamReader(is));
while (reader.readLine()==null) {
System.out.println("我是客户端,服务器反馈为为:"+reader.readLine());
}
//4关闭资源
reader.close();
os.close();
socket.close();
is.close();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
源代码如上