Java TCP 操作基本流程

一、创建服务器

1、指定端口, 使用serverSocket创建服务器

2、阻塞式连接 accept

3、操作:输入流 输出流

4、释放资源

二、创建客户端

1、使用Socket 创建客户端 + 服务器的ip和端口

2、操作:输入流 输出流

3、释放资源

实现文件上传:

客户端上传:
public class FileClient {
public static void main(String[] args) throws IOException {
System.out.println("=======client=======");
// 1、使用Socket 创建客户端+服务端Ip 和端口
Socket client = new Socket("localhost", 8888);
// 2、操作:文件拷贝:上传
InputStream is = new BufferedInputStream(new FileInputStream("src/张飞.jpg"));
OutputStream os = new BufferedOutputStream(client.getOutputStream());
byte[] flush = new byte[1024];
int len = -1;
while((len = is.read(flush)) != -1) {
os.write(flush, 0, len);
}
os.flush();
// 4、释放资源
os.close();
is.close();
client.close();
}
}
服务端接收:
public class FileServer {
public static void main(String[] args) throws IOException {
System.out.println("=======server=======");
// 1、指定端口创建服务器
ServerSocket server = new ServerSocket(8888);
// 2、阻塞式等待连接
Socket socket = server.accept();
// 3、操作:文件拷贝:存储
InputStream is = new BufferedInputStream(socket.getInputStream());
OutputStream os = new BufferedOutputStream(new FileOutputStream("src/copy.jpg"));
byte[] flush = new byte[1024];
int len = -1;
while((len = is.read(flush)) != -1) {
os.write(flush, 0, len);
}
os.flush();
// 4、释放资源
os.close();
is.close();
socket.close();
server.close(); }
}

最新文章

  1. Salesforce练习Case
  2. 分享自己写的JS版日期格式化和解析工具类,绝对好用!
  3. 【java学习笔记】字符串和Date的转换
  4. C#实现简单的委托异步调用
  5. ROS 多台电脑间进行通信
  6. nrf51822裸机教程-GPIO
  7. linux之let用法
  8. HTML (1)href与Action,get post
  9. 查询反模式 - 正视NULL值
  10. git 使用系列(二)---- 分支和合并
  11. 什么是tcp/ip
  12. 【Python实践-2】求一个或多个数的乘积
  13. 上传input中file文件到云端,并返回链接
  14. 有关C++模板inline的高性能在lambda与function的体现
  15. 一本通1585【例 1】Amount of Degrees
  16. Hadoop2源码分析-MapReduce篇
  17. Logback中文文档(一):介绍
  18. CookiesHelper
  19. 美团外卖iOS App冷启动治理
  20. laravel建立一个分组控制器和分组路由

热门文章

  1. python中的函数及作用域的理解
  2. python——新excel模块之openpyxl
  3. Spring如何解决循环依赖,你真的懂了?
  4. Lisp-01: 相关开发环境配置部署
  5. tensorflow编程学习路线及笔记
  6. 国内 Java 开发者必备的两个装备,你配置上了么?
  7. 1050 String Subtraction (20分)
  8. Linux系统:Centos7下搭建PostgreSQL关系型数据库
  9. 关于机械硬盘的 CMR 和 SMR 技术
  10. Linux网络安全篇,FTP服务器的架设