网络编程-Socket通信实现服务器与客户端互传文件(JAVA语言实现)

这篇具有很好参考价值的文章主要介绍了网络编程-Socket通信实现服务器与客户端互传文件(JAVA语言实现)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

网络编程-Socket通信实现服务器与客户端互传文件(JAVA语言实现)

在网络通信协议下,实现网络互连的不同计算机上运行的程序间可以进行数据交换.

网络编程三要素:ip地址、端口、协议

ip地址:

每台计算机指定的一个标识符,127.0.0.1是回送地址,可以代表本机地址 ,一般用来测试使用

ipconfig:命令行中查看本机地址

ping ip地址:检查网络是否连通

端口

两个应用程序的通信。IP地址是可以唯一标识网络中的设备,端口就是可以唯一标识设备中的应用程序。

端口号:用两个字节表示的整数,它的取值范围是0-65535.其中0-1023之间的端口号用于一些知名的网络服务和应用,普遍的应用程序要使用1024以上。

协议:

连接和通信的规则称为网络的通信协议.

常见的协议UDP和tcp

UDP:用户数据报协议.

无连接的通信协议,即使在传输数据的时候,发送端和接收端不建立连接.

消耗资源小,通信效率高.

UDP适用于音频,视频和普通数据的传输.

TCP:传输控制协议

是面向连接的同学,即传输数据之前,在发送端和接收端建立逻辑连接,然后再传输数据.

两台计算机无差错的数据传授.

需要经过三次握手,四次挥手

三次握手:

  • 客户端向服务器端发出连接请求,等待服务确认

  • 服务器端向客户端回送一个响应,通知客户端收到了连接请求

  • 客户端再次向服务器端发送确认信息,确认连接

TCP是可以保证数据的安全的传输,上传文件,下载文件等等

Socket实现客户端向服务器发送文件

网络编程-Socket通信实现服务器与客户端互传文件(JAVA语言实现)

网络编程-Socket通信实现服务器与客户端互传文件(JAVA语言实现)

先运行服务器,再运行客户端部分的代码。

serverDemo02.java

package demo02;

import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class ServerDemo02 {
   
    public static void main(String[] args) throws Exception{
   
        //创建服务
        ServerSocket serverSocket = new ServerSocket(9000);
        //监听客户端连接

        Socket socket = serverSocket.accept();//阻塞式监听会一直等待客户端连接
        //获取输入流
        InputStream is = socket.getInputStream();

        //文件输出
        File file=new File("E:/receive3.jpg");//接收文件地址
        FileOutputStream fos = new FileOutputStream(file);
        byte[] buffer = new byte[1024];
        int len;
        while ((len = is.read(buffer)) != -1) {
   

            fos.write(buffer,0,len);
        }//关闭资源
        fos.close();
        is.close();
        socket.close();
        serverSocket.close();
    }
}

clientDemo02.java文章来源地址https://www.toymoban.com/news/detail-413513.html

package  demo02;

import java.io.File;
import java.io.FileInputStream;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;

public class clientDemo02 {
   
    public static void main(String[] args) throw

到了这里,关于网络编程-Socket通信实现服务器与客户端互传文件(JAVA语言实现)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java【网络编程2】使用 TCP 的 Socket API 实现客户端服务器通信(保姆级教学, 附代码)

    📕各位读者好, 我是小陈, 这是我的个人主页 📗小陈还在持续努力学习编程, 努力通过博客输出所学知识 📘如果本篇对你有帮助, 烦请点赞关注支持一波, 感激不尽 📙 希望我的专栏能够帮助到你: JavaSE基础: 基础语法, 类和对象, 封装继承多态, 接口, 综合小练习图书管理系统

    2024年02月05日
    浏览(41)
  • Linux网络编程:socket、客户端服务器端使用socket通信(TCP)

    socket(套接字),用于网络中不同主机间进程的通信。 socket是一个伪文件,包含读缓冲区、写缓冲区。 socket必须成对出现。 socket可以建立主机进程间的通信,但需要协议(IPV4、IPV6等)、port端口、IP地址。          (1)创建流式socket套接字。                 a)此s

    2024年02月11日
    浏览(43)
  • 【Java】网络编程与Socket套接字、UDP编程和TCP编程实现客户端和服务端通信

    为什么需要网络编程? 现在网络普及程序越来越高,网络上保存着我们日常生活中需要的各种资源,使用程序通过网络来获取这些资源的过程就需要网络编程来实现。 什么是网络编程? 网络编程,指网络上的主机,通过不同的进程以程序的方式实现网络通信(网络数据传输)

    2024年02月17日
    浏览(48)
  • Java网络编程-Socket实现数据通信

    本文主要是为下一篇Websockt做铺垫,大家了解socket的一些实现。 网络编程是指利用计算机网络进行程序设计、开发的技术。网络编程主要包含三个要素,分别是: IP地址和端口号 传输协议 Socket 在计算机网络中,每台计算机都有一个IP地址,用于唯一标识该计算机在网络中的

    2024年02月10日
    浏览(28)
  • UNIX网络编程:socket实现client/server通信

    阅读 UNIX网络编程 卷1:套接字联网API 第3版 的前4个章节,觉得有必要对书籍上的源码案例进行复现,并推敲TCP的C/S通信过程。 📌 测试环境:CentOS7.6 x64 编译server.c 和 client.c gcc server.c -g -std=gnu99 -o server 和 gcc client.c -g -std=gnu99 -o client 运行测试: 📌 server.c仅仅实现对单个客户

    2024年02月06日
    浏览(35)
  • Linux网络编程:socket实现client/server通信

    阅读 UNIX网络编程 卷1:套接字联网API 第3版 的前4个章节,觉得有必要对书籍上的源码案例进行复现,并推敲TCP的C/S通信过程。 📌 测试环境:CentOS7.6 x64 编译server.c 和 client.c gcc server.c -g -std=gnu99 -o server 和 gcc client.c -g -std=gnu99 -o client 运行测试: 📌 server.c仅仅实现对单个客户

    2024年02月03日
    浏览(27)
  • Linux网络编程:Socket套接字编程(Server服务器 Client客户端)

    文章目录: 一:定义和流程分析 1.定义 2.流程分析  3.网络字节序 二:相关函数  IP地址转换函数inet_pton inet_ntop(本地字节序 网络字节序) socket函数(创建一个套接字) bind函数(给socket绑定一个服务器地址结构(IP+port)) listen函数(设置最大连接数或者说能同时进行三次握手的最

    2024年02月12日
    浏览(60)
  • 「网络编程」第二讲:网络编程socket套接字(三)_ 简单TCP网络通信程序的实现

    「前言」文章是关于网络编程的socket套接字方面的,上一篇是网络编程socket套接字(二),下面开始讲解!  「归属专栏」网络编程 「主页链接」个人主页 「笔者」枫叶先生(fy) 「枫叶先生有点文青病」「每篇一句」 I do not know where to go,but I have been on the road. 我不知

    2024年02月11日
    浏览(35)
  • Redis的实现二: c、c++的网络通信编程技术,让服务器处理多个client

           看过上期的都知道,我是搞java的,所以对这些可能理解不是很清楚,各位看完可以尽情发言。       在服务器端网络编程中,有三种处理并发连接的方法。       它们是: 分叉 、 多线程 和 事件循环 。分叉为每个客户端连接创建新进程,以实现并发性。多线程使用

    2024年02月01日
    浏览(28)
  • Linux下网络编程(3)——socket编程实战,如何构建一个服务器和客户端连接

            经过前几篇的介绍,本文我们将进行编程实战,实现一个简单地服务器和客户端应用程序。 编写服务器程序          编写服务器应用程序的流程如下:         ①、调用 socket()函数打开套接字,得到套接字描述符;         ②、调用 bind()函数将套接字

    2024年02月03日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包