网络编程:TCP实现客户端并发登录 刺骨的言语ヽ痛彻心扉 2021-10-01 01:50 342阅读 0赞 【需求】:TCP实现客户端并发登录 > 1.客户端通过键盘录入用户名 > 2.服务端对用户名进行校验:如果该用户存在,服务端显示“XXX,已登录”,并在客户端显示“XXX,欢迎登录” > 如果该用户不存在,服务端显示“XXX,尝试登录”,并在客户端显示“XXX,该用户不存在” > 3.每个用户最多登录三次 【代码】: import java.io.*; import java.net.*; class LoginClient { public static void main(String[] args) throws Exception { Socket s=new Socket("127.0.0.1",10008); //键盘录入 BufferedReader bufr=new BufferedReader(new InputStreamReader(System.in)); //输出 PrintWriter out=new PrintWriter(s.getOutputStream(),true); //输入 BufferedReader in=new BufferedReader(new InputStreamReader(s.getInputStream())); for(int i=0;i<3;i++){ String line=bufr.readLine(); if(line==null) break; out.println(line); String info=in.readLine(); if(info.contains("欢迎")) break; System.out.println("info:"+info); } bufr.close(); s.close(); } } class ServerThread implements Runnable { private Socket s; ServerThread(Socket s){ this.s=s; } public void run() { String ip=s.getInetAddress().getHostAddress(); try{ for(int i=0;i<3;i++){ BufferedReader bufr=new BufferedReader(new FileReader("D:\\WorkSpace\\网络编程\\studentInfo.txt")); BufferedReader in=new BufferedReader(new InputStreamReader(s.getInputStream())); PrintWriter out=new PrintWriter(s.getOutputStream(),true); String line=null; String name=in.readLine(); boolean flag=false; while((line=bufr.readLine())!=null){ if(name.equals(line)){ flag=true; break; } } if(flag){ System.out.println(name+",已登录"); out.println(name+",欢迎登录"); break; }else{ System.out.println(name+",尝试登录"); out.println(name+",该用户不存在"); } bufr.close(); } s.close(); } catch(Exception e){ throw new RuntimeException(ip+"校验失败"); } } } class LoginServer { public static void main(String[] args) throws Exception { ServerSocket ss=new ServerSocket(10008); while(true){ Socket s=ss.accept(); new Thread(new ServerThread(s)).start(); } } } 【截图】: ![20190811173154878.png][] ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1RoZV9CZXN0X0hhY2tlcg_size_16_color_FFFFFF_t_70][] [20190811173154878.png]: /images/20210811/55a481e35a0e4c2ebaf89149d78f4834.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1RoZV9CZXN0X0hhY2tlcg_size_16_color_FFFFFF_t_70]: /images/20210811/35a876d3651c49bfbf170af3f4acd892.png
相关 网络编程问题:TCP客户端连接失败案例 在TCP客户端的连接过程中,可能会遇到连接失败的情况。以下是一个典型的案例: **案例描述:** 1. **客户端程序准备:** 一个简单的Python TCP客户端代码被 本是古典 何须时尚/ 2024年09月10日 05:36/ 0 赞/ 21 阅读
相关 python网络编程:通过socket实现TCP客户端和服务端 本文将介绍如何通过python自带的socket库实现TCP客户端和服务端,实现多个客户端与一个服务端的消息收发(基本聊天室功能),这是网络编程的基础。 小咪咪/ 2024年05月02日 20:15/ 0 赞/ 43 阅读
相关 C#实现简单TCP服务器和客户端网络编程 在C\中进行网络编程涉及许多类和命名空间,用于创建和管理网络连接、传输数据等。下面是一些主要涉及的类和命名空间: 1. `System.Net` 命名空间:这个命名空间提供 淩亂°似流年/ 2023年10月15日 09:19/ 0 赞/ 81 阅读
相关 Java 网络编程(三) 实现客户端并发与服务端建立连接 1、利用TCP单线程从客户端将图片发送给服务端。 客户端: import java.io.; import java.net.; pu àì夳堔傛蜴生んèń/ 2022年12月24日 15:59/ 0 赞/ 115 阅读
相关 网络编程-tcp多客户端编程-多进程(6) 在前面的章节中讲到的编程模型中,和服务器通信的客户端最多只有一个,但是在实际应用场景中,大部分情况同时和服务器通信的客户端不止一个,因此需要用到其他技术来解决多客户端请求并发的 清疚/ 2022年05月22日 06:04/ 0 赞/ 222 阅读
相关 【TCP网络编程】C语言实现TCP服务器和客户端之间的通信(linux) 功能描述 利用TCP网络通信实现客户端和服务器的通信 服务器代码 server.c include<stdio.h> include<sys/s 分手后的思念是犯贱/ 2021年11月02日 10:44/ 0 赞/ 837 阅读
相关 网络编程:TCP实现客户端并发登录 【需求】:TCP实现客户端并发登录 > 1.客户端通过键盘录入用户名 > 2.服务端对用户名进行校验:如果该用户存在,服务端显示“XXX,已登录”,并在客户端显示“XXX 刺骨的言语ヽ痛彻心扉/ 2021年10月01日 01:50/ 0 赞/ 343 阅读
相关 网络编程 -- 实现聊天室客户端服务端 网络编程 TCP/IP协议 应用层 传输层 TCP UDP 网络层 IP 接口层 MAC ISO理论模型 应用层 TFTP,HTTP,SNMP,FTP 深碍√TFBOYSˉ_/ 2021年09月17日 09:38/ 0 赞/ 456 阅读
还没有评论,来说两句吧...