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,BufferedReader,new,接字,InputStreamReader,客户端 来源: https://www.cnblogs.com/xypersonal/p/16154293.html