tcp案例
来源:互联网 发布:网络21成功系统犯法吗 编辑:程序博客网 时间:2024/05/24 06:42
package com.neutron.network.tcp.demo;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.net.ServerSocket;import java.net.Socket;public class Server3 {public static void accept() throws IOException {// 定义服务器端服务,并且监听特定端口ServerSocket server = new ServerSocket(10005);// 获取客户端服务,阻塞式方法Socket client = server.accept();// 获取客户端socket读取流BufferedReader buffIn = new BufferedReader(new InputStreamReader(client.getInputStream()));// 获取客户端socket写入流BufferedWriter buffOut = new BufferedWriter(new OutputStreamWriter(client.getOutputStream()));String receive = "";while ((receive = buffIn.readLine()) != null) {System.out.println("server receive:" + "client hostname::" + client.getInetAddress().getHostAddress());System.out.println("server receive:" + "client port::" + client.getPort());System.out.println("server receive:" + "client message::" + receive);String send = receive.toUpperCase();buffOut.write(send);// 必须newLine,因为客户端使用readLine判断输入结束的标记是回车buffOut.newLine();// 必须flush,否则客户端无法接收数据buffOut.flush();System.out.println("client will receive::" + receive.toUpperCase());}client.close();server.close();}public static void main(String[] args) throws IOException {accept();}}
package com.neutron.network.tcp.demo;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.net.Socket;import java.net.UnknownHostException;public class Client3 {public static void send() throws UnknownHostException, IOException {// 定义客户端, 并指定远程主机和端口Socket client = new Socket("127.0.0.1", 10005);// 定义读取键盘数据的流对象BufferedReader buffr = new BufferedReader(new InputStreamReader(System.in));// 将数据写入socket输出流,发送给服务器端BufferedWriter buffOut = new BufferedWriter(new OutputStreamWriter(client.getOutputStream()));// 定义socket读取流,读取服务器端返回的数据BufferedReader buffIn = new BufferedReader(new InputStreamReader(client.getInputStream()));// 客户端发送的数据String message = "";// 服务器端发送的数据String buff2 = "";while ((message = buffr.readLine()) != null) {if ("over".equalsIgnoreCase(message)) {break;}// 将数据写入缓存中buffOut.write(message);// 为何要使用此方法,因为服务器接收数据使用readLine方法,此方法需要根据回车键判断输入结束buffOut.newLine();// 清除缓存区数据,不flush缓存区中数据,服务器段无法接收数据buffOut.flush();buff2 = buffIn.readLine();System.out.println("client receive:" + "client message :: " + buff2);}buffr.close();client.close();}public static void main(String[] args) throws UnknownHostException, IOException {send();}}
0 0
- tcp案例
- TCP案例体现
- TCP文件上传案例
- TCP通信案例分析
- tcp协议案例
- haproxy tcp模式案例
- JAVA TCP 编程小案例
- 案例:演示TCP传输过程的实现
- TCP/IP编程入门-案例学习
- TCP通信附带文件上传案例
- TCP协议实现数据传输的简单案例
- TCP协议发送文件小案例
- Java TCP\UDP的典型案例
- 心得13--网络编程4-TCP协议案例分析
- Google GO与C#之间的TCP通信案例
- TCP通信原理及封包问题(详细,案例解析)
- TCP传输(二):服务器给客户端一个反馈案例
- java 网络编程(Socket) TCP/UDP 总结案例
- UML建模之时序图(Sequence Diagram)
- 栈和队列的
- iOS - 类扩展与分类的区别
- Unity3D 中 Generic 动画导入设置和 Root Motion 之间的关系
- xib子类化viwe如何使用通知
- tcp案例
- 专题二 1006
- IOS 开发23种设计模式
- 一个下载各种统计年鉴的好去处
- Space Shooter之控制陨石随机旋转
- windows下删除.svn命令
- win下远程连接linux下mysql
- Gson的简单使用(二)
- 笔记:Android判断版本并根据版本使用不同的代码以及旧版本XML问题