PHP 简单TCP通信实现原理(白话文)

发布于 2021-05-12 22:33 ,所属分类:区块连和PHP开发学习资料

这里使用易语言与PHP进行TCP通信

先来说说PHP

使用 Socket 模块

socket:网络上的两个程序通过一个双向的通信连接实现数据的交换,连接的一端称为一个socket.

因此socket运行是至少有2个端组成,一个为服务端一个为客户端(客户端可以多个).

举例:给朋友打电话.1.先有个手机或电话 2.找到朋友号码拨号,等待朋友接电话 3.朋友听到铃声接通电话 4.这里双方都接通了可以相互交流了5.交流结束,挂电话结束.

 socket的关键函数:

客户端:

socket_create()

作用:创建一个socket套接字,也就是建立通讯节点。会话懂不懂,你打电话的隧道、

socket_connect()

作用:连接一个套接字, 开始一个socket连接,连接对端,你打电话是不是需要输入对方手机号?

socket_write()

作用:把数据写入套接字中,你打电话是不是有事情和对面说?

socket_read()

作用:读取服务端返回来的套接流信息,你给他说事情了,对面是不是要会话,当然如果你是舔狗,那就是另外一种情况了。

服务端:

1.创建socket (没隧道怎么打电话咧)

socket_create()

2.绑定socket (给自己搞个地址,谁都能打进来,纯海王)

socket_bind($socket,'127.0.0.1',8888)//绑定接收的套接流主机和端口,与客户端相对应

3.监听 (这个是真海外,谁打过来都是第一时间接通,看样子当海外也是很辛苦的)

socket_listen($socket,4)//监听套接流

实现

我就用易语言和PHP进行通信了,而PHP之间的通信过程自行思考。

创建易语言TCP服务端

万物皆可易语言(高情商小白)


创建易语言TCP客户端

<?php 
error_reporting(E_ALL);
$service_port = 19730; //这里是端口号
$address = '192.168.101.14';//这里输入服务器端IP地址
//↓创建 TCP/IP socket

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket < 0) {
echo "socket创建失败原因: " . socket_strerror($socket) . "</br>";
} else {
echo "socket创建成功.</br>"; //socket创建成功
}
$result = socket_connect($socket, $address, $service_port);
if ($result < 0) {
echo "SOCKET连接失败原因: ($result) " . socket_strerror($result) . "</br>";
} else {
echo "SOCKET连接成功.</br>"; //socket连接成功
}
//发送命令
$in = "在嘛美丽女孩?|ID:我是小韭菜";//发送内容
socket_write($socket, $in, strlen($in));
$data = socket_read($socket, 1024); //接受数据
echo $data; //打印数据

#socket_close($socket);//结束socket
?>

测试


相关资源