声明
文章仅用作个人学习,原文链接: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();
不为空时将内容输出到控制台 - 关闭服务器端套接字
原创文章,作者:306829225,如若转载,请注明出处:https://blog.ytso.com/244265.html