Socket即时通讯

  • 主机地址(主机名)
    • 网络中设备的标示
    • 不易记忆,可以用主机名
    • 本地会环地址:127.0.0.1 主机名:localhost
  • 端口号
    • 用于标示进程的逻辑地址,不同进程的标示
    • 有效端口:0~65535
    • 其中0~1024由系统使用或者保留端口,开发中不要使用1024以下的端口
  • 传输协议(通讯的规则)
    • TCP
    • UDP

0-255.0——255.0——255.0——255
4G 42亿
IPV6 2^64
IP:127.0.0.1 localhost

ping 127.0.0.1和ping ip地址有区别吗
ping ip的时候首先去ping的是路由器

苹果自带了一个Apache服务

常见的网络协议

Socket即时通讯_第1张图片
网络协议.png

OSI网络模型-数据传输层

Socket即时通讯_第2张图片
网络模型.png

网络参考模型

Socket即时通讯_第3张图片
网络参考模型.png


  • UDP(用户数据报协议)短信
    • 只管发送,不确认对方是否接收到
    • 将数据及源和目的封装成数据包中,不需要建立连接
    • 每个数据报的大小限制在64k之内
    • 因为无需连接,因此是不可靠协议
    • 不需要建立连接,速度快
    • 应用场景:网络流媒体/游戏
  • TCP(传输控制协议)
    • 建立连接,形成传输数据的通道
    • 在连接中进行大数据传输(数据大小不受限制)
    • 通过三次握手完成连接,是可靠协议,安全送达
    • 必须建立连接,效率会稍低

Socket (套接字层、插座——AT&T)

  • Socket就是为网络服务提供的一种机制
    • 在Unix中,网络既是Socket,并不局限在TCP/UDP
    • Socket可以用于自定义协议
  • 通信的两端都是Socket
  • 网络通信其实就是Socket间的通信
  • 数据在两个Socket间通过IO传输
  • Socket开始是纯C语言的,是跨平台的

Socket开发——Netcat

  • nc -lk 12345
    • 始终监听本地计算机12345端口的数据
  • Netcat
    • 是终端下用于调试和检查网络的工具包
    • 可用于创建TCP/IP连接

你可能感兴趣的:(Socket即时通讯)