Java基础知识强化之网络编程笔记08:TCP之客户端键盘录入服务器控制台输出
2024-10-18 09:51:02
1. 客户端:
package cn.itcast_08; import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.Socket; /*
* 客户端键盘录入,服务器输出到控制台
*/
public class ClientDemo {
public static void main(String[] args) throws IOException {
// 创建客户端Socket对象
Socket s = new Socket("192.168.12.92", 22222); // 键盘录入数据
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// 把通道内的流给包装一下
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(
s.getOutputStream())); String line = null;
while ((line = br.readLine()) != null) {
// 键盘录入数据要自定义结束标记
if ("886".equals(line)) {
break;
}
bw.write(line);
bw.newLine();
bw.flush();
} // 释放资源
// bw.close();
// br.close();
s.close();
}
}
2. 服务器端:
package cn.itcast_08; import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket; public class ServerDemo {
public static void main(String[] args) throws IOException {
// 创建服务器Socket对象
ServerSocket ss = new ServerSocket(22222); // 监听客户端连接
Socket s = ss.accept(); // 包装通道内容的流
BufferedReader br = new BufferedReader(new InputStreamReader(
s.getInputStream()));
String line = null;
while ((line = br.readLine()) != null) {
System.out.println(line);
} // br.close();
s.close();
// ss.close();
}
}
运行效果,先开服务器端,如下:
再开客户端,如下:
回到服务器,如下:
最新文章
- 深入学习jQuery自定义插件
- XAMARIN.ANDROID SIGNALR 实时消息接收发送示例
- Install NukeX v7.0v6 in CentOS 7
- okhttp教程——起步篇
- JavaScript数组属性与方法
- iOS 短信分享 邮件分享
- 【USACO】calfflac
- A Brief Introduction to the Design of UBIFS
- Agile.Net 组件式开发平台 - 数据访问组件
- vs15
- Windows 8.1 正式版镜像下载大全
- OleDbHelper
- 自己做个 Tag标签
- jquery 编写插件入门
- 洛谷 [P1426] 通往奥格瑞玛的道路
- 吴恩达深度学习第2课第3周编程作业 的坑(Tensorflow+Tutorial)
- 简单的Json数据
- 用mescroll实现无限上拉增加数据,下拉刷新数据 (学习笔记)
- luogu3195/bzoj1010 玩具装箱(斜率优化dp)
- JDBC、JNDI和DBCP的区别