2020年11月19日星期四

网络编程之 TCP 实现文件上传

网络编程之 TCP 实现文件上传

服务端

 

package lesson02;import java.io.*;import java.net.ServerSocket;import java.net.Socket;/** * 服务端接收文件 */public class TcpServerDemo2 { 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.jpg"));  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 lesson02;import java.io.*;import java.net.InetAddress;import java.net.Socket;/** * 客户端上传文件 */public class TcpClientDemo2 { public static void main(String[] args) throws Exception {  //1、创建一个Socket连接  Socket socket = new Socket(InetAddress.getByName("127.0.0.1"), 90000);  //2、创建一个输出流  OutputStream os = socket.getOutputStream();  //3、读取文件  FileInputStream fis = new FileInputStream(new File("toux.jpg"));  //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();  //Sting byte[]  ByteArrayOutputStream baos = new ByteArrayOutputStream();  byte[] buffer2 = new byte[1024];  int len2;  while ((len2 = inputStream.read(buffer2)) != -1){   baos.write(buffer2, 0, len2);  }  System.out.println(baos.toString());  //5、关闭资源  fis.close();  os.close();  socket.close(); }}
 

原文转载:http://www.shaoqun.com/a/490568.html

海豚村:https://www.ikjzd.com/w/1779

easybuy:https://www.ikjzd.com/w/2162

tenso:https://www.ikjzd.com/w/1552.html


网络编程之TCP实现文件上传服务端packagelesson02;importjava.io.*;importjava.net.ServerSocket;importjava.net.Socket;/***服务端接收文件*/publicclassTcpServerDemo2{publicstaticvoidmain(String[]args)throwsIOException{//1、创建服务Se
unsplash:unsplash
空中云汇:空中云汇
2020五一小长假去苏州旅游天气怎么样?:2020五一小长假去苏州旅游天气怎么样?
欧洲游七座城池七种风情 :欧洲游七座城池七种风情
春节台湾旅游攻略 关于垦丁的市区交通:春节台湾旅游攻略 关于垦丁的市区交通

没有评论:

发表评论