C/C++教程

TCP通信程序练习

本文主要是介绍TCP通信程序练习,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

声明

文章仅用作个人学习,原文链接:https://blog.csdn.net/qq_46331050/article/details/117706050

1. 数据来自键盘输入,接收到的数据输出到控制台

  • 客户端: 数据来自于键盘录入,直到输入的数据是886, 发送数据结束
  • 服务器:接收到的数据在控制台输出

示例代码


客户端


服务器端

知识点总结

  1. 客户端发送步骤
  • 创建socket对象,指定接收端IP及端口号
  • 将键盘读取内容新建为转换流InputStreamReader,新建缓冲流用于增强转换流,利用缓冲区读取内容以避免中文乱码

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

  • 调用套接字方法获取输出流新建为转换流OutputStreamWriter,并用缓冲流增强
  • 调用缓冲流BufferedReader的readline方法获取键盘输入内容,用if语句判断是否结束数据发送

如果继续发送

  • 增强流写方法将获取出来的键盘输入内容发送给服务器端(每发送一次消息写入一个换行符),刷新缓冲流

如果判断为结束发送

  • 关闭客户端套接字
  1. 服务器端接收步骤
  • 创建serversocket对象,指定的接收端口要和客户端指定的接收端口号保持一致

  • 监听客户端连接,返回一个对应的Socket对象

Socket s = ss.accept(); 实质还是一个套接字类型

  • 获得输入流

InputStream is = s.getInputStream();

  • 将输入流转换为转换输入流,并用增强流增强

InputStreamReader isr = new InputStreamReader(is);

BufferedReader br = new BufferedReader(isr);

  • 当读取内容br.readline();不为空时将内容输出到控制台
  • 关闭服务器端套接字
这篇关于TCP通信程序练习的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!