ip可以找到这台计算机
port找到这台计算机中的进程。
查看端口
用‘netstat -an’命令
端口的作用
一台拥有IP地址的主机可以提供许多服务,比如HTTP(万维网服务)、FTP(文件传输)、SMTP(电子邮件)等,这些服务完全可以通过1个IP地址来实现。那么,主机是怎样区分不同的网络服务呢?显然不能只靠IP地址,因为IP地址与网络服务的关系是一对多的关系。实际上是通过‘IP地址+端口号’来区分不同的服务的。需要注意的是,端口并不是一一对应的,比如你的电脑作为客户机访问一台WWW服务器时i,WWW服务器使用‘80’端口与你的电脑通信,但你的电脑则可能使用‘3457’这样的端口。
ip地址
ip地址:用来在网络中标记一台电脑的一串数字,比如192.168.1.1;在本地局域网上是唯一的。
ip地址的分类
每一个ip地址包括两部分:网络地址和主机地址。
注意:IP地址127.0.0.1 ~ 127.255.255.255用于回路测试
如:127.0.0.1可以代表本机IP地址,用http://127.0.0.1就可以测试本机中配置的web服务器。
子网掩码
Ip地址有网络号和主机号组成,但是IP地址的网络号和主机号各是多少位呢?
如果不指定,就不知道哪些位是网络号、哪些是主机号,这就需要通过子网掩码来实现。
子网掩码不能单独存在,它必须结合IP地址一起使用。
子网掩码只有一个作用,就是将某个IP地址划分为网络地址和主机地址两部分,掩码的设定必须遵循一定的规则。
与IP地址相同,子网掩码的长度也是32位。
socket简介
socket:套接字
本地进程间通信(IPC)有很多方式,如:队列,同步(互斥锁、条件变量等),这都是在一台机器上不同进城之间的通信方式,那么网络中进程之间如何通信?
网络中进程之间如何通信
首先,要解决的问题是如何唯一标示一个进程,否则通信无从谈起。
在本地可以通过进程PID来唯一标识一个进程,但是在网络中这是行不通的。
其实TCP/IP协议族已经帮我们解决了这个问题,网络层的‘iP地址’可以唯一标识网络中的主机,而传输层的‘协议+端口’可以唯一标识主机中的应用程序(进程)。
这样利用Ip地址,协议,端口就可以标识网络的进程了,网络中的进程通信就可以利用这个标识与其他进程进行交互。
什么是socket
socket(简称套接字)是进程间通信的一种方式,它与其他进程间通信的一个主要不同是:它能实现不同主机间的进程间通信,我们网络上各种各样的服务大多都是基于socket来完成通信的。
创建socket:socket.socket(AddressFamily,Type)
创建一个tcp套接字
创建一个udp套接字
UDP介绍
UDP--用户数据报协议,是一个无连接的简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用再客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快。
UDP是一种面向无连接的协议,,每个数据报都是一个独立的信息,包括完整的源地址或目的地址,它在网络上以任何可能的路径传往目的地,因此能否到达目的地,到达目的地的时间以及内容的正确性都是不能被保证的。
UDP特点:UDP是面向无连接的通讯协议,UDP数据包括目的端口号和源端口号信息,由于通讯不需要连接,所以可以实现广播发送。UDP传输数据时有大小限制,每个被传输的数据报必须限定在64kb之内。UDP是一个不可靠的协议,发送方所发送的数据报并不一定以相同的次序到达接收方。
试用情况:UDP是面向消息的协议,通信时不需要建立连接,数据的传输自然是不可靠的,UDP一般用于多点通信和实时的数据业务,比如:语音广播,视频,QQ,DNS(域名解释)