TCP通信程序练习
2022/4/16 22:12:40
本文主要是介绍TCP通信程序练习,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
声明
文章仅用作个人学习,原文链接:https://blog.csdn.net/qq_46331050/article/details/117706050
1. 数据来自键盘输入,接收到的数据输出到控制台
- 客户端: 数据来自于键盘录入,直到输入的数据是886, 发送数据结束
- 服务器:接收到的数据在控制台输出
示例代码
客户端
服务器端
知识点总结
- 客户端发送步骤
- 创建socket对象,指定接收端IP及端口号
- 将键盘读取内容新建为转换流InputStreamReader,新建缓冲流用于增强转换流,利用缓冲区读取内容以避免中文乱码
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
- 调用套接字方法获取输出流,新建为转换流OutputStreamWriter,并用缓冲流增强
- 调用缓冲流BufferedReader的readline方法获取键盘输入内容,用if语句判断是否结束数据发送
如果继续发送
- 增强流写方法将获取出来的键盘输入内容发送给服务器端(每发送一次消息写入一个换行符),刷新缓冲流
如果判断为结束发送
- 关闭客户端套接字
- 服务器端接收步骤
-
创建serversocket对象,指定的接收端口要和客户端指定的接收端口号保持一致
-
监听客户端连接,返回一个对应的Socket对象
Socket s = ss.accept();
实质还是一个套接字类型
- 获得输入流
InputStream is = s.getInputStream();
- 将输入流转换为转换输入流,并用增强流增强
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
- 当读取内容
br.readline();
不为空时将内容输出到控制台 - 关闭服务器端套接字
这篇关于TCP通信程序练习的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15PingCAP 黄东旭参与 CCF 秀湖会议,共探开源教育未来
- 2024-05-13PingCAP 戴涛:构建面向未来的金融核心系统
- 2024-05-09flutter3.x_macos桌面os实战
- 2024-05-09Rust中的并发性:Sync 和 Send Traits
- 2024-05-08使用Ollama和OpenWebUI在CPU上玩转Meta Llama3-8B
- 2024-05-08完工标准(DoD)与验收条件(AC)究竟有什么不同?
- 2024-05-084万 star 的 NocoDB 在 sealos 上一键起,轻松把数据库编程智能表格
- 2024-05-08Mac 版Stable Diffusion WebUI的安装
- 2024-05-08解锁CodeGeeX智能问答中3项独有的隐藏技能
- 2024-05-08RAG算法优化+新增代码仓库支持,CodeGeeX的@repo功能效果提升