程序猿必须要知道的一个内容:客户端+服务端二(源码解析、建议收藏)
客户端+服务端2(提升)
- 需先执行服务端,再执行客户端
package reflect;import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;//服务端
public class TcpServerDemo02 {public static void main(String[] args) throws IOException {//1.创建服务ServerSocket serverSocket=new ServerSocket(9000);//2.监听客户端的连接Socket socket=serverSocket.accept();//阻塞式监听,会一直等待客户端连接//3.获取输入流InputStream is=socket.getInputStream();//4.文件输出FileOutputStream fos=new FileOutputStream(new File("receive.png"));byte[] buffer=new byte[1024];int len;while ((len=is.read(buffer))!=-1){fos.write(buffer,0,len);}//通知客户端接收完毕了OutputStream os = socket.getOutputStream();os.write("我接收完毕了,你可以断开了".getBytes());//5.关闭资源fos.close();is.close();socket.close();serverSocket.close();}
}
package reflect;import java.io.*;
import java.net.InetAddress;
import java.net.Socket;//客户端
public class TcpClientDemo02 {public static void main(String[] args) throws Exception {//1.创建一个Socket连接Socket socket=new Socket(InetAddress.getByName("127.0.0.1"),9000);//2.创建一个输出流OutputStream os=socket.getOutputStream();//3.读取文件FileInputStream fis=new FileInputStream(new File("tx.png"));//4.写入文件byte[] buffer=new byte[1024];int len;while ((len=fis.read(buffer))!=-1){os.write(buffer,0,len);}//通知服务器,我已经结束了socket.shutdownOutput(); //我已经传输完了!//确定服务端接收完毕,才能够断开连接InputStream inputStream=socket.getInputStream();//String byte[]ByteArrayOutputStream baos=new ByteArrayOutputStream();byte[] buffer2=new byte[2014];int len2;while ((len2=inputStream.read(buffer2))!=-1){baos.write(buffer2,0,len2);}System.out.println(baos.toString());//5.关闭资源baos.close();inputStream.close();fis.close();os.close();socket.close();}}
程序猿必须要知道的一个内容:客户端+服务端二(源码解析、建议收藏)相关推荐
- PHP服务端、Unity客户端 双端基础源码做avalon阿瓦隆桌游面sha(类似狼人游戏)支持WebGL、小程序发布
文章目录 PHP服务端发布(Windows下演示) Windows 安装PHP 启动服务器 Linux家族 Unity客户端发布 发布Windows客户端 发布WebGL端 演示 源码解析 联系作者 ...
- 程序猿必须要知道的一个内容:客户端+服务端一(源码解析、建议收藏)
客户端+服务端1(提升) 需要先开启服务端在开启客户端 package reflect;import java.io.ByteArrayOutputStream; import java.io.IOE ...
- 实现一个spring webservice服务端二:创建一个可以访问的webservice
在文章中,我学习了spring-ws基本的知识,在文章最后我也实现一个简单的项目,访问可以看到wsdl文件,但是我也遇到了一个问题,无法通过soap UI的测试,经过这一段业余时间的学习,这个问题解决 ...
- ❤️七夕佳节,用Python制作表白神器,程序员也应该拥有爱情!【附源码,建议收藏】❤️
程序员表白 开发工具 Python版本: 3.6.4 相关模块: requests模块: argparse模块: pyquery模块: jieba模块: pyecharts模块: wordcloud模 ...
- OSI七层模型以及TCP/UDP客户端/服务端程序实例
OSI七层模型以及TCP/UDP客户端/服务端程序实例 一.前言 二.OSI简介 2.1 OSI概念 2.2 划分原则 2.3 OSI七层模型 2.4 模型举例 三.Linux下TCP/UDP程序开发 ...
- java webservice报文过长_工作1-5年的Java程序猿到底需要怎样的一个技术栈?
工作1-5年的Java程序猿到底需要怎样的一个技术栈? 前言: 具有1-5年开发经验的程序员 需要学习的内容其实还有很多很多. 今天跟大家交流一下希望分享出来的对大家能够有帮助,这是我这些年总结出的一 ...
- 使用IDEA创建一个通过url链接生成二维码的java程序|自动生成二维码
平时使用了那么多的二维码,今天我们自己做一个二维码.今天刚安装了IDEA,学会了用法,就来通过IDEA做一个生成二维码的程序. 首先新建一个项目 设置项目名称 点击Next之后,出现下图所示页面: ...
- 微信服务号如何创建一个带参数的微信二维码?
渠道二维码,也称为渠道码,带参二维码,带参统计二维码,顾名思义,渠道二维码的意思就是通过创建一个带参数的二维码来自动统计各渠道数据,是微信公众平台为服务号提供的一种开放接口功能,适用于多种扫码场景,例 ...
- 微信小程序开发之文件上传下载应用场景(附Demo源码)
微信小程序开发之文件上传下载应用场景(附Demo源码),Demo为小相册应用,源码在附件中,本示例需要腾讯云支持. http://www.henkuai.com/forum.php?mod=viewt ...
最新文章
- 利用python爬取IP地址归属地等信息!
- 计算机视觉系统中图像究竟经历了哪些“折磨”
- 原生js实现Ajax,JSONP
- 彻底理解DFT定义(第三章离散傅里叶变换(3.1)学习笔记)
- 丰田pcs可以关闭吗_别只知道开不坏,现在的丰田还有这些厉害绝招!
- 载入Haskell的函数
- 2016年国家公务员考试公告
- 【线性代数】详解正定矩阵、实对称矩阵、矩阵特征值分解、矩阵 SVD 分解
- 批量重命名图片去掉烦人的括号
- VirtualDub
- 服务器413是什么状态,服务器异常代码413问题
- IOS唤起键盘,移动端页面放大
- 不能启动的问题 社区版安装后_Windows To Go安装使用手记
- 等效于35mm相机焦距的计算方法
- mysql1062错误 gtid_Mysql基于gtid的主从复制错误:1062
- 大屏可视化低代码开发平台网址
- 金山与永中,谁主沉浮?
- 电脑升级建议(加固态硬盘还是内存、CPU、显卡)
- 第六篇 VGGNet——模型精讲
- 怎样快速对二进制和十进制进行互转化——IP地址规划与设计总结
热门文章
- 为什么要使用boost::enable_shared_from_thisT
- Nginx压测性能优化
- 几种常见的数据库连接的URL写法(包括国产数据达梦DM)
- MySQL中的备份和恢复
- 老旗舰华为能用上鸿蒙吗,荣耀手机能升级鸿蒙吗?五款旗舰优先,老荣耀机主或有惊喜...
- 解决 elementUI 在IE下 table 表格宽度不是100%的问题
- java HelloWorld时报错:“找不到或无法加载主类“问题的解决办法
- POI实现大数据EXCLE导入导出,解决内存溢出问题
- 如何在Android上创建透明活动?
- java subset_Java中的TreeSet的subSet()方法 Java.util.TreeSet.subSet() - Break易站