wxvirus wxvirus
首页
  • Go文章

    • Go语言学习
  • Rust

    • Rust学习
  • Java

    • 《Java》
  • Python文章

    • Python
  • PHP文章

    • PHP设计模式
  • 学习笔记

    • 《Git》
  • HTML
  • CSS
  • JS
  • 技术文档
  • GitHub技巧
  • 刷题
  • 博客搭建
  • 算法学习
  • 架构设计
  • 设计模式
  • 学习
  • 面试
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

无解的lifecycle

let today = new Beginning()
首页
  • Go文章

    • Go语言学习
  • Rust

    • Rust学习
  • Java

    • 《Java》
  • Python文章

    • Python
  • PHP文章

    • PHP设计模式
  • 学习笔记

    • 《Git》
  • HTML
  • CSS
  • JS
  • 技术文档
  • GitHub技巧
  • 刷题
  • 博客搭建
  • 算法学习
  • 架构设计
  • 设计模式
  • 学习
  • 面试
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • C&C++

  • PHP

  • Python

  • Go

    • go基础

    • go核心

    • 网络编程

      • socket网络编程概述
      • IPV4 TCP套接字服务端
        • IPV4 TCP 套接字服务
          • Unix 域套接字进程间通信
      • IPV4 TCP套接字客户端
      • IPV4 UDP
      • go实现TCP通信
    • gowebsocket

    • gocasbin

    • K8S

    • rabbitmq

    • 框架相关

    • go-zero

    • kafka

    • rpc

    • 性能相关

  • microservice

  • rust

  • Java

  • 学习笔记

  • 后端
  • Go
  • 网络编程
wxvirus
2022-06-29

IPV4 TCP套接字服务端

[https://www.php.net/manual/zh/book.stream.php](PHP Stream 函数文档地址)

# IPV4 TCP 套接字服务

# Unix 域套接字进程间通信

$socketFd = socket_create();
1

第一个参数:

$domain套接字通信域参数

  • AF_INET:IPV4
  • AF_INET6: IPV6
  • AF_UNIX:本地通讯协议,具有高性能和低成本的 IPC(进程间通信)

主要以 IPV4 为主。

第二个参数:

$type:套接字类型:TCP/UDP

第三个参数:协议,如果是 TCP 或 UDP,可以直接使用SOL_TCP和SOL_UDP

第一步:创建套接字,实际上返回一个文件描述符

$socketFd = socket_create(AF_INET, SOCK_STREAM, 0);
1

第二步:命名socket绑定,把端口、IP 绑定到 socket 文件描述符上

第三个参数可以在unix进程间通信的时候可以不传

成功:返回true

失败:返回false

socket_bind($socketFd, "0.0.0.0", "12345");
1

第三步:监听

第二个参数是接收的监听队列的个数

socket_listen($socketFd, 5);
1

第四步:接收客户端连接

$conn = socket_accept($socketFd);
1

第五步:发送数据

socket_send($conn, "hi", 2, 0);
1

发送 HTTP 内容

$data = "HTTP/1.1 200 OK\r\nContent-Length: 2\r\n\r\nok";
echo socket_send($conn, $data, strlen($data), 0);
1
2

这样如果使用 TCP 连接:127.0.0.1:12345即可获取到响应的 HTTP 内容ok

第六步:关闭

socket_close($conn);
socket_close($socketFd);
1
2
编辑 (opens new window)
上次更新: 2022/06/29, 23:49:28
socket网络编程概述
IPV4 TCP套接字客户端

← socket网络编程概述 IPV4 TCP套接字客户端→

最近更新
01
vue3配合vite初始化项目的一些配置
07-26
02
网盘系统开发学习
07-24
03
linux多进程
06-19
更多文章>
Theme by Vdoing | Copyright © 2021-2024 wxvirus 苏ICP备2021007210号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式