TCP通信程序练习


声明

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

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

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

示例代码

TCP通信程序练习
客户端
TCP通信程序练习
TCP通信程序练习
服务器端
TCP通信程序练习
TCP通信程序练习

知识点总结

  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();不为空时将内容输出到控制台
  • 关闭服务器端套接字

原创文章,作者:306829225,如若转载,请注明出处:https://blog.ytso.com/244265.html

(0)
上一篇 2022年4月16日
下一篇 2022年4月16日

相关推荐

发表回复

登录后才能评论