[心得] java socket短连接实现客户端和服务器的文件发送与存储

 一、java socket短连接的基本概念

1.socket套接字

TCP用主机的IP地址加上主机上的端口号作为TCP连接的端点,这种端点就叫做套接字(socket)或插口。

即TCP/IP实现的套接字,是应用层调用下层服务的接口。

备注:若接口被占用,打开cmd窗口,输入netstat -ano,查找端口号对应的PID;打开任务管理器,详细信息,结束对应PID的进程,即可。

 

2.短连接:连接->传输数据->关闭连接

短连接(short connnection)是相对于长连接而言的概念,指的是在数据传送过程中,只在需要发送数据时,才去建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一项业务的发送。

优点:不需要长期占用通道,对于业务频率不高的场合,能节省通道的使用。

缺点:需要在每次发送业务时,都要建立一次连接,连接建立的过程开销大。

最常见的短连接例子就是HTTP协议。


长连接 :连接->传输数据->保持连接 -> 传输数据-> 。。。 ->关闭连接 
长连接指建立socket连接后不管是否使用都保持连接,但安全性较差。 

 

JAVA如何实现短连接:(我理解为socket相当于一个快递点或可以说是中转站)

①发送的方法:直接获得socket的OutputStream流,然后用write方法,flush方法即可。

②接收的方法:常用的两个类是InputStream和BufferedInputStream。

 

二、实现文件发送与存储的步骤

1.要求: 传输文件:即将客户端的文件传输到服务器 

2.步骤: 

客户端

①创建客户端Socket对象,指定服务器地址和端口;

②创建socket输出流(方便往socket写数据): 

    os = socket.getOutputStream(); 

③读取文件读到byte[]数组中:byte[] bs = new byte[1024];

    is = new  FileInputStream(new File("D:\\新建文本文档1.txt"));

    再将数组中的数据通过os写入socket:

    os.write(bs,0,num);

服务器端

①创建服务器端ServerSocket对象,指定端口:

    serverSocket = new ServerSocket(9999);

②调用accept()监听(即等待客户端的连接)来接收一个socket:

    socket = serverSocket.accept();

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值