当服务器端的监听在 循环里面的时候 发现 不正正常接收客户端的信息
把监听accept放在循环外面却可以,刚学到这里,不是很理解!
大神路过帮忙解答下,谢谢!

public class TcpClient {public static void main(String[] args) {//创建套接字Socket s = null;//创建键入字符流BufferedReader reader = null;//创建输出字符流BufferedWriter writer = null;try {//实例化套接字s = new Socket("127.0.0.1",10011);System.out.println("TCP 已启动 请输出您要发送的信息......");//获得此套接字输出流OutputStream out = s.getOutputStream();//实例化输入流reader = new BufferedReader(new InputStreamReader(System.in));//实例化输出流writer = new BufferedWriter(new OutputStreamWriter(out));//保存读入信息String line = null;while (true){line = reader.readLine();writer.write(line);writer.newLine();writer.flush();if (line.equals("exit")){break;}System.out.println("循环被执行了");}System.out.println("TCP 客户端结束运行!");} catch (IOException e) {e.printStackTrace();}finally {try {if (s != null){s.close();}if (writer != null){writer.close();}if (reader != null){reader.close();}} catch (IOException e) {e.printStackTrace();}}}
}public class TcpServer {public static void main(String[] args) {//创建服务端套接字ServerSocket ss = null;//创建缓冲字符流BufferedReader reader = null;try {//实例化套接字并绑定端口ss = new ServerSocket(10011);System.out.println("TCP 服务已经启动......");//监听客户端对象Socket s = ss.accept();System.out.println("连接成功......");//获得客服端套接字的输入流对象InputStream in = s.getInputStream();//装换成缓冲字符流reader = new BufferedReader(new InputStreamReader(in));//获取客户端ip地址InetAddress inetAddress = s.getInetAddress();String hostAddress = inetAddress.getHostAddress();while (true) {//读取输入流String line = reader.readLine();//设置退出信号if (line.equals("exit")){break;}System.out.println(hostAddress + " 发送了:" + line);}System.out.println("TCP 服务结束运行!");} catch (IOException e) {e.printStackTrace();}finally {try {if (ss !=null){ss.close();}if (reader != null){reader.close();}} catch (IOException e) {e.printStackTrace();}}}
}

java TCP 从客户端键入信息 循环接收发送 示例相关推荐

  1. TCP 从客户端键入信息 循环接收发送 示例

    当服务器端的监听在 循环里面的时候 发现 不正正常接收客户端的信息 把监听accept放在循环外面却可以,刚学到这里,不是很理解! 大神路过帮忙解答下,谢谢! public class TcpClie ...

  2. java tcp 字节数_服务器无法接收大小超过1500字节的TCP数据包

    有一台服务器无法接收大小超过1500字节的TCP数据包, 但是这个服务器CAN发送一个大于1500的TCP数据包 . 我还尝试在此服务器中捕获数据包以供WireShark进行分析 . 但是,WireS ...

  3. 循序渐进Java Socket网络编程(多客户端、信息共享、文件传输)

    目录[-] 一.TCP/IP协议 二.TCP与UDP 三.Socket是什么 四.Java中的Socket 五.基本的Client/Server程序 六.多客户端连接服务器 七.信息共享 八.文件传输 ...

  4. 【Java 网络编程】TCP 服务器端 客户端 简单示例

    文章目录 I IntelliJ IDEA 创建 Java 项目 II 客户端 Socket 创建 III Socket 客户端连接服务器端 IV Socket 两个端点信息获取 V 控制台人机交互 V ...

  5. 【Java 网络编程】UDP 服务器 客户端 通信 ( DatagramSocket | DatagramPacket | UDP 发送数据包 | UDP 接收数据包 | 端口号分配使用机制 )

    文章目录 I UDP 信息发送接收原理 II UDP 发送和接收端口相同 III UDP 发送信息代码示例 IV UDP 接收信息代码示例 V UDP 服务器端代码示例 VI UDP 客户端代码示例 ...

  6. Linux下TCP循环接收数据的方式

    简介 服务器调用accept与客户端建立连接,连接建立成功后,会返回一个fd,表示这条了连接的文件描述符.之后调用recv函数接受连接的信息.根据recv函数的原型,需要服务器程序有一个接收缓冲区,实 ...

  7. 客户端服务器信息交互,select实现客户端和服务器端的信息交互(TCP socket)

    实现功能: 客户端:<1>从标准输入(键盘)读入信息,然后通过socket发送到服务器端; <2>接收来自服务器端的信息,并显示到终端里. 服务器端:<1>从标准输 ...

  8. java获取客户端硬件信息_java如何获取远程计算机的系统信息,cpu使用情况,磁盘使用情况等等...

    展开全部 1.在远程server里搭建一个http服务e69da5e6ba903231313335323631343130323136353331333337396165,并支持某种服务端语言(如.n ...

  9. java tcp发消息给硬件_java – TCP客户端/服务器通信只发送第一条消息?

    我在java中设置一个简单的TCP客户端服务器交互. 服务器: 服务器是用Java编写的桌面客户端: import java.io.BufferedReader; import java.io.Dat ...

最新文章

  1. RHEL6.3配置文件共享(5) Samba服务之三
  2. 读取文本节点_总结语录|Part1:Dynamo节点介绍
  3. Python应用实战-Python五个实用的图像处理场景
  4. 每天进步一点点017
  5. Selenium定位HTML元素(Python)
  6. inc si指令的作用_【Vue】Re04 指令:第二部分 - emdzz
  7. 腾讯广告算法大赛 | 初赛第一名心得分享
  8. 经实验效果显著!VR虚拟帮助病人重新走路
  9. .net core上传
  10. pycharm专业版账号登录问题
  11. 计算机英特尔显卡在哪找,Win10英特尔显卡设置在哪里 英特尔核芯显卡控制面板六大功能详解...
  12. 如何评估互联网广告效果
  13. SCAU------8615 快乐
  14. 大学四年生活总结_大学四年生活总结
  15. 贪心法找钱python_python找钱?
  16. 按教师名单分配学生抽签程序
  17. html怎么随机设置颜色,设置随机颜色值
  18. spring-银行转账系统
  19. jmeter断言beanshell判断日期/整型大小比较
  20. 开发微信小程序调用拼多多接口

热门文章

  1. Flex之嵌入外部资源
  2. MySQL5.7更改密码时出现ERROR 1054
  3. 如何获取 docker 容器(container)的 ip 地址
  4. nginx访问日志常用变量
  5. linux 如何重启apache
  6. 重置 MySQL 自增列id(不删除原数据)
  7. 【Linux入门学习之】数据流重定向
  8. 媒体播放器的状态 winform
  9. 文件的读操作 c# 1614526130
  10. 案例 项目经理评分 c# 1613922661