【java笔记】TCP通信程序_m0_52043808的博客-CSDN博客

【java笔记】网络编程:文件上传案例_m0_52043808的博客-CSDN博客

网络编程:

在一定协议下,实现两台计算机的通信的程序。

软件结构:

c/s结构:全称为Client/Server结构,是指客户端和服务器结构。常见有QQ,迅雷等软件

B/S结构:Browser/Server结构,是指浏览器和服务器结构。常见浏览器有谷歌火狐等。

网络通信协议:

位于同一个网络中的计算机在进行连接和通信时需要遵守一定的规则。对数据传输的格式,传输速率,传输步骤等做了统一规定,通信双方必须同时遵守才能完成数据交换。

TCP/IP协议:

传输控制协议/因特网互联协议(Transmission Control Protocol/Internet Protocol)是Internet最基本,最广泛的协议。它定义了计算机如何连入因特网,以及数据如何在它们之间传输的标准。

它的内部包含一系列用于处理数据通信的协议,并采用了4层的分层模型,每一层都呼叫它的下一层提供的协议来完成自己的需求。

协议分类:

UDP协议:用户数据报协议(User Datagram Protocol)。

UDP是无连接通信协议,即在数据传输时,数据的发送端和接受端不建立逻辑链接。简单来说,当一台计算机向另一台计算机发送数据时,发送端不会确认接受端是否存在,就会发出数据,同样接受端在收到数据时,也不会向发送端反馈是否收到数据。

由于使用UDP协议消耗资源小,通信效率高,所以通常都会用于音频,视频,和普通数据的传输,因为这种情况即使偶尔丢失一两个数据包,也不会对接受结果产生太大影响。

但是在使用UDP协议传输数据时,由于UDP的面向无连接性,也不能保证数据的完整性,因此在传输重要数据时,不建议使用UDP协议。

特点:数据被限制在64kb以内,超出这个范围就不能发送了。

TCP协议(传输控制协议)

TCP协议是面向连接的通信协议,即传输数据之前,在发送端和接受端建立逻辑连接,然后再传输数据,它提供了两台计算机之间可靠无差错的数据传输。

在TCP连接中必须要明确客户端与服务器端,由客户端向服务器端发送连接请求,每次连接的创建都需要经过三次握手

第一次握手:客户端向服务器端发送连接请求,等待服务器确认。

第二次握手:服务器端向客户端回送一个响应,通知客户端收到了连接请求

第三次握手:客户端再次向服务器端发送确认消息,确认连接。

TCP协议可以保证传输数据的安全,所以应用十分广泛,例如下载文件,浏览网页等。

网络编程的三要素:

一、协议

二、IP地址

互联网协议地址(Internet Protocol Address),IP地址用来给一个网络中的计算机设备做唯一的编号。

分类:

IPV4:32位二进制数,通常被分为4个字节,表示为a.b.c.d的形式,例如192.168.65.100。其中a,b,c,d都是0~255的整数,那么最多可以表示42亿个

IPV6:128位地址长度,每16个字节一组,分成8组十六进制数,号称可以为全世界的每一粒沙子编上一个网址

常用命令:

查看本机IP地址,控制台输入:

ipconfig

检查网络是否连通,在控制台输入:

ping 空格 IP地址

ping 220.181.57.216

 特殊的IP地址:

本机IP地址:127.0.0.1、localhost

三、端口号

逻辑端口。当使用网络软件,操作系统会为网络软件分配一个随机的端口号,或者网络软件在打开的时候和系统要指定的端口号。

端口号由两个字节组成,取值范围在0~65535之间

注意:

1024之前的端口号不能使用,已经被系统分配给已知 的网络软件了

网络软件的端口号不能重复

使用IP地址+端口号,就可以保证数据准确无误的发送到对方计算机的指定软件。

常用端口号:
1、80端口:网络端口

2、数据库:mysql:3306  oracle:1521

3、Tomcat服务器:8080

【java笔记】网络编程概述相关推荐

  1. Java笔记 - 网络编程

    基本知识 OSI与TCP/IP参考模型 1. 物理层:主要定义物理设备标准,如网线的接口类型.光纤的接口类型.各种传输介质的传输速率等.它的主要作用是传输比特流(就是由1.0转化为电流强弱来进行传输, ...

  2. Java学习笔记-网络编程

    Java提供了网络编程,并且在实际中有着大量运用 网络编程 网络编程概述 网络模型 OSI参考模型 TCP/IP参考模型 网络通讯要素 IP地址 端口号 传输协议 网络参考模型 网络通讯要素 IP地址 ...

  3. JAVA UDP网络编程学习笔记

    一.UDP网络编程概述 采用TCP协议通信时,客户端的Socket必须先与服务器建立连接,连接建立成功后,服务器端也会持有客户端连接的Socket,客户端的Socket与服务器端的Socket是对应的 ...

  4. java网络编程技术学习笔记(b站【狂神说Java】网络编程实战讲解)

    b站视频链接:[狂神说Java]网络编程实战讲解 文章目录 网络编程 1.1.概述 1.2.网络通信的要素 1.3.IP 1.4.端口 1.5.通信协议 1.6.TCP 文件发送 1.7.UDP 1. ...

  5. 【Java 18】网络编程 - 概述、网络编程要素、IP和端口号、网络协议、TCP、UDP、URL

    网络编程 - 概述.网络编程要素.IP和端口号.网络协议.TCP.UDP.URL 网络编程 1 网络编程概述 2 网络通信要素概述 3 通信要素1:IP和端口号 3.1 内容 3.2 InetAddr ...

  6. 【Android】Android网络编程概述

    Android网络编程概述 原文来自:http://blog.csdn.net/kieven2008/article/details/8210737 首先,应该了解的几个问题: 1)Android平台 ...

  7. JAVA的网络编程【转】

    转自 http://www.cnblogs.com/springcsc/archive/2009/12/03/1616413.html 网络编程 网络编程对于很多的初学者来说,都是很向往的一种编程技能 ...

  8. Java(网络编程)

    Java(网络编程) 参考视频:1.什么是计算机网络(狂神) 1. 概述 地球村 TCP:打电话 UDP:发短信 计算机网络: 计算机网络是指将地理位置不同的,具有独立功能的,多台计算机及其外部设备, ...

  9. Java知识点——网络编程(如何网络编程和多线程实现tcp基础多文件交换功能)

    1. 网络编程概述 1.1 C/S和B/S C/S 客户端 服务器软件结构 服务提供商给予用户服务需要准备的内容1. 各大平台的客户端Android iOS PC Windows Linux macO ...

  10. Netty:Java 领域网络编程的王者

    一.简介 1. 课程背景 分布式系统的根基在于网络编程,而 Netty 是 Java 领域网络编程的王者. 2. 课程内容 第一部分 NIO 编程,三大组件 第二部分 Netty 入门学习,Event ...

最新文章

  1. 高德API+Python解决租房问题
  2. 【并发编程】CountDownLatch与CyclicBarrier
  3. Python的__pycache__文件夹
  4. 想问一下C++里queue要怎么遍历
  5. 【csust】最小素因子问题(树状数组)
  6. java 构造器 null_java - 主结尾处的Java构造函数用户输入在构造函数中为Null - 堆栈内存溢出...
  7. 遇到win7系统电脑没有声音了怎么解决
  8. `ifdef、`else、`endif 用法
  9. modbus tcp主站和从站_实例分享!西门子PLC通过MODBUS控制变频器
  10. VMware Workstation 与 Device/Credential Guard 不兼容.在禁用 Device/Credenti
  11. linux 进程 ldt,LInux 描述符GDT, IDT LDT结构定义
  12. 重装系统后无法连接到网络?
  13. 读书笔记012:《伤寒论》- 手少阳三焦经
  14. linux格式化fat的命令,Linux磁盘格式化命令详解
  15. 深度学习--滑动平均模型
  16. sougou linux 无法切换中英文,Ubuntu 16.04安装GoLand后不能切换到搜狗输入法
  17. 入坑codewars
  18. Android Studio跳转到新的activity时出现“很抱歉,xxx已停止运行“
  19. 三菱伺服刚性调节方法
  20. 存储过程根据业务场景自己摸索的写法

热门文章

  1. SOA(在Tuscany 中开发web service)
  2. 使用 Productivity Power Tools 高级扩展 来帮助你提高 VS2012 的工作效率
  3. HDU1557 权利指数【状态压缩】
  4. 树莓派相机操作 —— luvcview 的安装、raspistill:摄像头命令
  5. Java 定制工具库 —— Print(import static)
  6. 维纳过程(Wiener Process)与高斯过程(Gaussian Process)
  7. 商场内自动扶梯的研究
  8. leetcode(83)—— 删除已排序链表重复元素(Remove Duplicates from Sorted List)
  9. scipy.special —— 排列、组合与阶乘
  10. RPC(远程过程调用)原理及应用