TCP 粘包
TCP 粘包 栈 " 操作系统分配给进程/线程的一块连续的内存区域【专用内存】" 栈的主要内容:函数的参数、函数里的局部变量、函数的返回值【隐形的返回地址】 在进程里,CPU 的执行受程序计数器控制【它的寄存器名称为 IP(instruction pointer) 8 位的古董级】 32 位的 EIP 64 位的 RIP 【寄存器上面存储了下一个条要执行的指

wxvirus2023年2月11日
大约 2 分钟
Go语言实现TCP通信
TCP 服务端 一个 TCP 服务端可以同时连接很多个客户端,因为 go 语言创建多个 goroutine 实现并发非常方便和高效,所以我们可以每建立一次链接就创建一个 goroutine 去处理。 TCP 服务端程序的处理流程: 1. 监听端口 2. 接收客户端请求建立链接 3. 创建 goroutine 处理链接 客户端 1. 连接服务端 2. 进行数据

wxvirus2022年7月10日
大约 5 分钟
stream-socket-api函数介绍
Stream socket api 函数介绍 " PHP 对 socket 的封装提供了很多函数,但是其内部使用的 socket api 函数和别的语言都是一样的。" stream; event:PHP 里的一个扩展【libevent 网络库】,它是用 C 语言开发的,内部使用的 socket api 函数都是一样的,不过 PHP 再封装了一层,让 PHP

wxvirus2022年7月7日
大约 2 分钟
unix域socket
UNIX TCP " UNIX 通信域 TCP 套接字" 服务端 客户端 此时调用完了,会生成一个文件unix.sock,下次再次运行就会进行报错,因为它已经存在了,所以下次我们运行的时候需要将它删除。 使用strace -f -s 6550 php unix_client.php 可以看到一些底层使用的函数和调用的方法。 UNIX UDP unix 域有

wxvirus2022年7月7日
大约 2 分钟
IPV4 UDP
IPV4 UDP 服务端 " UDP 是数据报服务,传输的数据长度是固定的、不可靠的,也就是说发送端写数据,如果服务端没有及时接收或者说接收端缓冲区不够,也会造成数据丢失。" "" " TCP 是字节流服务、传输是可靠的、有序的、数据没有边界" IPV4 UDP 客户端 而且这里我们再继续开别的客户端进行连接服务端,也是可以进行发送消息的。但是这里是无法进行

wxvirus2022年7月3日
大约 2 分钟
IPV4 TCP 套接字客户端
IPV4 TCP 套接字客户端 先运行前面写好的服务端,再运行这个客户端会得到如下结果: 可以使用命令: strace -f -s 65500 php tcp_client.php来跟踪其内部使用的是什么系统函数来完成的。 大致如下: socket函数创建套接字; connect:连接服务端; write:写内容,发送内容; recvfrom:接收值;

wxvirus2022年6月29日
小于 1 分钟
IPV4 TCP套接字服务端
https://www.php.net/manual/zh/book.stream.php IPV4 TCP 套接字服务 Unix 域套接字进程间通信 第一个参数: $domain套接字通信域参数 AF_INET:IPV4; AF_INET6: IPV6; AF_UNIX:本地通讯协议,具有高性能和低成本的 IPC(进程间通信); 主要以 IPV4 为主。

wxvirus2022年6月26日
大约 1 分钟
PHP Socket练习
TCP 服务端使用 select 支持多路复用 TCP WebSocket

wxvirus2022年6月24日
大约 2 分钟
socket网络编程概述
概述 " 编写的网络应用程序以Socket API来实现,变成语言虽然各不相同,但系统调用 API 完全一致,可以通过Strace工具跟踪系统调用。" 操作系统以系统调用Socket API网络接口提供给引用层的程序。 数据链路层/ARP/RAPP:主要完成 IP 地址和物理 MAC 地址转换; " ARP 请求:数据链路层接收到上层传递进来的数据,首先先拿

wxvirus2022年6月20日
大约 11 分钟