import java.io.*;
import java.net.*;
class LoginClient
{
public static void main(String[] args) throws IOException
{
//建立Socket服务,并指定主机和端口号
Socket s = new Socket("127.0.0.1",8801);
for(int i=0;i<3;i++)
{
//建立键盘录入输入流
BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
//得到Socket服务的输出流
PrintWriter bufw = new PrintWriter(s.getOutputStream(),true);
String line=bufr.readLine();
if(line==null)
continue;
bufw.println(line);
//得到Socket输入流
BufferedReader bufIn = new BufferedReader(new InputStreamReader(s.getInputStream()));
String data=bufIn.readLine();
System.out.println(data);
if(data.contains("欢迎"))
break;
}
}
}
class UserThread implements Runnable
{
private Socket s;
UserThread(Socket s)
{
this.s=s;
}
public void run()
{
try
{
//得到连进来的IP
String ip = s.getInetAddress().getHostAddress();
System.out.println(ip+".....Connected");
for(int i=0;i<3;i++)
{
//建立字符读取流
BufferedReader bufr = new BufferedReader(new FileReader("G:\\UserInfo.txt"));
//得到Socket服务输入流
BufferedReader bufrIn = new BufferedReader(new InputStreamReader(s.getInputStream()));
//得到Socket服务输出流
PrintWriter pw = new PrintWriter(s.getOutputStream(),true);
String line = null;
boolean flag=false;
String name=bufrIn.readLine();
while((line=bufr.readLine())!=null)
{
if(line.equals(name))
{
flag=true;
break;
}
}
if(flag)
{
System.out.println(ip+"登陆成功");
pw.println("欢迎光临");
break;
}
else
{
System.out.println(ip+"尝试登陆");
pw.println("用户不存在!请重新输入");
}
}
}
catch(Exception e)
{
throw new RuntimeException("操作失败");
}
}
}
class LoginServer
{
public static void main(String[] args) throws IOException
{
//建立ServerSocket服务,指定端口号
ServerSocket ss = new ServerSocket(8801);
while(true)
{
//得到客户端Socket服务
Socket s = ss.accept();
new Thread(new UserThread(s)).start();
}
}
}
【java编程】TCP_Socket网络编程之用户登陆
最新推荐文章于 2021-05-21 17:39:07 发布