swoole 高手之路
  • Introduction
  • 简介
  • 入门安装
    • php7 安装
    • swoole 安装
    • ide 提示工具安装
  • 原理概念
    • 需要掌握的基础知识
    • IO 模型
    • TCP 与 UDP
    • TCP 粘包处理
    • 同步 与 异步
    • 进程 与 线程
    • Swoole进程结构
    • swoole的运行模式
    • swoole编程注意事项
    • Socket原理
    • Libevent
  • swoole 基础
    • 网络通信引擎
      • 创建TCP服务器
      • 创建TCP客户端
      • 创建UDP服务器
      • 创建HTTP服务器
      • 创建websocket服务器
    • 异步非堵塞IO
      • 异步文件系统IO
      • 异步Mysql
      • 异步Redis
      • 异步Http/WebSocket客户端
    • 进程 内存 协程
      • swoole进程管理模块
      • swoole 内存操作模块
      • swoole 协程
    • Task进程异步任务
    • 毫秒定时器
  • swoole 高级特性
    • 心跳检测
    • 守护进程、信号和平滑重启
    • mysql连接池
  • swoole 其他
    • nginx+swoole
    • 结合传统框架
  • swoole RPC调用
  • 附录 : 其他资料
    • Zan Extension
    • 资料
Powered by GitBook
On this page
  • TCP Socket原理图
  • UDP Socket原理图

Was this helpful?

  1. 原理概念

Socket原理

Previousswoole编程注意事项NextLibevent

Last updated 5 years ago

Was this helpful?

在TCP/IP网络应用中,通信的两个进程间相互作用的主要模式是客户/服务器模式(Client/Server model),即客户向服务器发出服务请求,服务器接收到请求后,提供相应的服务。

资料:

TCP Socket原理图

解释:

TCP服务端

(1)启动一个TCP服务器端(也就是一个socket),

(2)bind()绑定端口,绑定服务器地址,绑定ip

(3)listen()监听端口,可监听多个

(4)进入accept状态(阻塞),这是一个while(true)死循环(但是这个死循环会做优化,消化的资源会很少),等待客户端连接

TCP客户端

(1)建立一个socket

(2)connect() 地址 ip 端口,成功连接到服务端,服务端则fork一个子进程来处理

(3)客户端写入数据,服务端就会去读.处理,然后写回客户端

(4)客户端再去读,完成close结束连接

(5)服务端read到客户端已关闭,服务端close关闭.

解释图:

UDP Socket原理图

解释图:

PHP SOCKET编程