java TCP 从客户端键入信息 循环接收发送 示例
当服务器端的监听在 循环里面的时候 发现 不正正常接收客户端的信息
把监听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 从客户端键入信息 循环接收发送 示例相关推荐
- TCP 从客户端键入信息 循环接收发送 示例
当服务器端的监听在 循环里面的时候 发现 不正正常接收客户端的信息 把监听accept放在循环外面却可以,刚学到这里,不是很理解! 大神路过帮忙解答下,谢谢! public class TcpClie ...
- java tcp 字节数_服务器无法接收大小超过1500字节的TCP数据包
有一台服务器无法接收大小超过1500字节的TCP数据包, 但是这个服务器CAN发送一个大于1500的TCP数据包 . 我还尝试在此服务器中捕获数据包以供WireShark进行分析 . 但是,WireS ...
- 循序渐进Java Socket网络编程(多客户端、信息共享、文件传输)
目录[-] 一.TCP/IP协议 二.TCP与UDP 三.Socket是什么 四.Java中的Socket 五.基本的Client/Server程序 六.多客户端连接服务器 七.信息共享 八.文件传输 ...
- 【Java 网络编程】TCP 服务器端 客户端 简单示例
文章目录 I IntelliJ IDEA 创建 Java 项目 II 客户端 Socket 创建 III Socket 客户端连接服务器端 IV Socket 两个端点信息获取 V 控制台人机交互 V ...
- 【Java 网络编程】UDP 服务器 客户端 通信 ( DatagramSocket | DatagramPacket | UDP 发送数据包 | UDP 接收数据包 | 端口号分配使用机制 )
文章目录 I UDP 信息发送接收原理 II UDP 发送和接收端口相同 III UDP 发送信息代码示例 IV UDP 接收信息代码示例 V UDP 服务器端代码示例 VI UDP 客户端代码示例 ...
- Linux下TCP循环接收数据的方式
简介 服务器调用accept与客户端建立连接,连接建立成功后,会返回一个fd,表示这条了连接的文件描述符.之后调用recv函数接受连接的信息.根据recv函数的原型,需要服务器程序有一个接收缓冲区,实 ...
- 客户端服务器信息交互,select实现客户端和服务器端的信息交互(TCP socket)
实现功能: 客户端:<1>从标准输入(键盘)读入信息,然后通过socket发送到服务器端; <2>接收来自服务器端的信息,并显示到终端里. 服务器端:<1>从标准输 ...
- java获取客户端硬件信息_java如何获取远程计算机的系统信息,cpu使用情况,磁盘使用情况等等...
展开全部 1.在远程server里搭建一个http服务e69da5e6ba903231313335323631343130323136353331333337396165,并支持某种服务端语言(如.n ...
- java tcp发消息给硬件_java – TCP客户端/服务器通信只发送第一条消息?
我在java中设置一个简单的TCP客户端服务器交互. 服务器: 服务器是用Java编写的桌面客户端: import java.io.BufferedReader; import java.io.Dat ...
最新文章
- RHEL6.3配置文件共享(5) Samba服务之三
- 读取文本节点_总结语录|Part1:Dynamo节点介绍
- Python应用实战-Python五个实用的图像处理场景
- 每天进步一点点017
- Selenium定位HTML元素(Python)
- inc si指令的作用_【Vue】Re04 指令:第二部分 - emdzz
- 腾讯广告算法大赛 | 初赛第一名心得分享
- 经实验效果显著!VR虚拟帮助病人重新走路
- .net core上传
- pycharm专业版账号登录问题
- 计算机英特尔显卡在哪找,Win10英特尔显卡设置在哪里 英特尔核芯显卡控制面板六大功能详解...
- 如何评估互联网广告效果
- SCAU------8615 快乐
- 大学四年生活总结_大学四年生活总结
- 贪心法找钱python_python找钱?
- 按教师名单分配学生抽签程序
- html怎么随机设置颜色,设置随机颜色值
- spring-银行转账系统
- jmeter断言beanshell判断日期/整型大小比较
- 开发微信小程序调用拼多多接口