博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
网络编程概述和三要素(IP/端口号/协议)以及Socket通信原理
阅读量:5014 次
发布时间:2019-06-12

本文共 1225 字,大约阅读时间需要 4 分钟。

一、网络编程概述

1、计算机网络

  • 是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。

2、网络编程

  • 就是用来实现网络互连的不同计算机上运行的程序间可以进行数据交换。

二、网络编程三要素之IP概述

  • IP:每个设备在网络中的唯一标识。每台网络终端在网络中都有一个独立的地址,我们在网络中传输数据就是使用这个地址。
  • cmd命令:
    • ipconfig:查看本机IP192.168.12.42
    • ping:测试连接192.168.40.62
  • 本地回路地址:127.0.0.1
  • 广播地址:255.255.255.255
  • IPv4:4个字节组成,4个0-255。大概42亿,30亿都在北美,亚洲4亿。2011年初已经用尽。
  • IPv6:8组,每组4个16进制数。
    • IPv6:8组,每组4个16进制数。
    • 1a2b:0000:aaaa:0000:0000:0000:aabb:1f2f
    • 1a2b::aaaa:0000:0000:0000:aabb:1f2f
    • 1a2b:0000:aaaa::aabb:1f2f
    • 1a2b:0000:aaaa::0000:aabb:1f2f
    • 1a2b:0000:aaaa:0000::aabb:1f2f

三、网络编程三要素之端口号概述

  • 端口号:每个程序在设备上的唯一标识
  • 每个网络程序都需要绑定一个端口号,传输数据的时候除了确定发到哪台机器上,还要明确发到哪个程序。
  • 端口号范围从0-65535
  • 编写网络应用就需要绑定一个端口号,尽量使用1024以上的,1024以下的基本上都被系统程序占用了。
  • 常用端口
    • mysql: 3306
    • oracle: 1521
    • web: 80
    • tomcat: 8080
    • QQ: 4000
    • feiQ: 2425

当两个设备同时登陆了3个不同的聊天工具时,这台电脑QQ发送的消息能准确发送到另一台电脑的QQ是因为同一个应用程序有相同的端口号。

这里写图片描述

四、网络编程三要素之协议概述

  • 协议:为计算机网络中进行数据交换而建立的规则、标准或约定的集合。
    • UDP:面向无连接,数据不安全,速度快。不区分客户端与服务端。
    • TCP: 面向连接(三次握手),数据安全,速度略低。分为客户端和服务端。
    • 三次握手: 客户端先向服务端发起请求, 服务端响应请求, 传输数据

五、Socket通信原理图解

Socket套接字概述:

  • 网络上具有唯一标识的IP地址和端口号组合在一起才能构成唯一能识别的标识符套接字。
  • 通信的两端都有Socket。
  • 网络通信其实就是Socket间的通信。
  • 数据在两个Socket间通过IO流传输。
  • Socket在应用程序中创建,通过一种绑定机制与驱动程序建立关系,告诉自己所对应的IP和port。

这里写图片描述

 

转载于:https://www.cnblogs.com/soarsir/p/7652171.html

你可能感兴趣的文章
markdown语法测试集合
查看>>
running and coding
查看>>
实现QQ第三方登录、网站接入
查看>>
HTML CSS 层叠样式表 三
查看>>
Qt pro pri 文件学习1
查看>>
软件工程概论第六周学习进度条
查看>>
[思路]导入导出功能
查看>>
【iOS】UICollectionView自己定义Layout之蜂窝布局
查看>>
golang——(strings包)常用字符串操作函数
查看>>
发布aar到jcenter
查看>>
跨浏览器问题的五种解决方案
查看>>
XPath定位时,使用文本的方法小技巧。
查看>>
安装pandas报错(AttributeError: 'module' object has no attribute 'main')
查看>>
ch02 fundamental definition 01
查看>>
JSON解析
查看>>
Position is everything?(css定位学习的一些心得)(一)
查看>>
如何提高编程水平
查看>>
Jquery Uploadify3.21.与2.1版本 使用中存在的问题--记录三
查看>>
Linux查看进程的内存占用情况 分类: ubuntu ...
查看>>
[BZOJ 2818]Gcd
查看>>