博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《java入门第一季》之tcp协议下的编程实现键盘录入数据不断地往服务器端发送数据案例...
阅读量:5129 次
发布时间:2019-06-13

本文共 1765 字,大约阅读时间需要 5 分钟。

这里要封装通道流,封装键盘录入数据流。

同样地,还是两台电脑。一个客户端,一个服务器。

客户端代码:

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.1.105", 22222);//这里的地址是服务器端的IP地址和端口号		// 键盘录入数据		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));		// 把通道内的流给包装一下		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(				s.getOutputStream()));//在这里bw的功能相当于原来OutputStream os = s.getOutputStream;中的os		String line = null;		while ((line = br.readLine()) != null) {			// 键盘录入数据要自定义结束标记,如果不定义则客户端永远不会停止下来。			if ("886".equals(line)) {				break;			}			bw.write(line);//BufferedWriter封装字符流写入数据的时候,一定要带着换行才满足一行一行的写入。最后写完数据也不要忘记flush()保证数据的 写入			bw.newLine();			bw.flush();		}		// 释放资源		// bw.close();//socket关闭了,(封装的)bw也会自动关闭所以不用谢bw.close();		// br.close();//键盘自定义录入结束了,已经没了键盘录入,所以br也早就关闭可以不写br.colse。这里是键盘录入封装起来的		s.close();	}}
服务端代码:

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关闭了br就跟着关闭了		s.close();		// ss.close();//服务器不用关闭	}}

转载于:https://www.cnblogs.com/wanghang/p/6299731.html

你可能感兴趣的文章
Weka中数据挖掘与机器学习系列之基本概念(三)
查看>>
Win磁盘MBR转换为GUID
查看>>
大家在做.NET B/S项目的时候多用什么设技术啊?
查看>>
Java SE和Java EE应用的性能调优
查看>>
Android设计模式系列--原型模式
查看>>
免费的论文查重网站
查看>>
C语言程序第一次作业
查看>>
leetcode-Sort List
查看>>
中文词频统计
查看>>
了解node.js
查看>>
想做移动开发,先看看别人怎么做
查看>>
Eclipse相关集锦
查看>>
虚拟化架构中小型机构通用虚拟化架构
查看>>
继承条款effecitve c++ 条款41-45
查看>>
Java泛型的基本使用
查看>>
1076 Wifi密码 (15 分)
查看>>
noip模拟赛 党
查看>>
bzoj2038 [2009国家集训队]小Z的袜子(hose)
查看>>
Java反射机制及其Class类浅析
查看>>
Postman-----如何导入和导出
查看>>