// Client
// 设置错误处理
error_reporting (E_ALL);
// 设置处理时间
set_time_limit (0);
$ip = ""; // IP 地址
$port = 1000; // 端口号
$socket = socket_create (AF_INET, SOCK_STREAM, SOL_TCP); // 创建一个SOCKET
if ($socket)
echo "socket_create() 成功!<br>\n";
else
echo "socket_create() 失败:".socket_strerror ($socket)."<br>\n";
$conn = socket_connect ($socket, $ip, $port); // 建立SOCKET的连接
if ($conn)
echo "成功连接到[".$ip.":".$port."]<br>\n";
else
echo "socket_connect() 失败:".socket_strerror ($conn)."<br>\n";
echo socket_read ($socket, 1024)."<br>";
$stdin = fopen ('php://stdin', 'r');
$ar = array("HELLO","HELP","test","QUIT");
$i = 0;
while (true)
{
// $command = trim (fgets ($stdin, 1024));
// socket_write ($socket, $command, strlen ($command));
echo "发送 $ar[$i]<br>";
socket_write ($socket, $ar[$i], strlen($ar[$i]));
$i++;
$msg = trim (socket_read ($socket, 1024));
echo "收到:$msg<br>\n";
if ($msg == "Bye-Bye")
break;
}
fclose ($stdin);
socket_close ($socket);
======================================
// Server
// 设置错误处理
error_reporting (E_ALL);
// 设置运行时间
set_time_limit (0);
// 起用缓冲
ob_implicit_flush ();
$ip = ""; // IP地址
$port = 1000; // 端口号
$socket = socket_create (AF_INET, SOCK_STREAM, SOL_TCP); // 创建一个SOCKET
if ($socket)
echo "socket_create() successed!\n";
else
echo "socket_create() failed:".socket_strerror ($socket)."\n";
$bind = socket_bind ($socket, $ip, $port); // 绑定一个SOCKET
if ($bind)
echo "socket_bind() successed!\n";
else
echo "socket_bind() failed:".socket_strerror ($bind)."\n";
$listen = socket_listen ($socket); // 间听SOCKET
if ($listen)
echo "socket_listen() successed!\n";
else
echo "socket_listen() failed:".socket_strerror ($listen)."\n";
while (true)
{
$msg = socket_accept ($socket); // 接受一个SOCKET
if (!$msg)
{
echo "socket_accept() failed:".socket_strerror ($msg)."\n";
break;
}
$welcome = "服务端收到:Welcome to PHP Server!\n";
socket_write ($msg, $welcome, strlen ($welcome));
while (true)
{
$command = strtoupper (trim (socket_read ($msg, 1024)));
if (!$command)
break;
switch ($command)
{
case "HELLO":
$writer = "Hello Everybody!";
break;
case "QUIT":
$writer = "Bye-Bye";
break;
case "HELP":
$writer = "HELLO\tQUIT\tHELP";
break;
default:
$writer = "Error Command!";
}
socket_write ($msg, $writer, strlen ($writer));
if ($command == "QUIT")
break;
}
socket_close ($msg);
if ($command == "QUIT")
break;
}
socket_close ($socket); // 关闭SOCKET
分享到:
相关推荐
马上要年会了,有个什么总突然...nodejs express(ejs模板引擎) socket.io excel-export shake.js 年会摇一摇H5小游戏完整demo,有截图,可先去看看截图 https://blog.csdn.net/qq_38652871/article/details/103424198
delphi socket call php socket 例子,可根据需要扩展写成聊天室、网站助理类似淘宝助理,有订单提醒。 <?php //确保在连接客户端时不会超时 set_time_limit(0); $port = 10081 ; $ip = '192.168.1.102'; // ...
包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】...
1. 包含两个例子本人在comsenseEXP上运行过木有问题。 2. 例子syn是采用阻塞模式做的 3. 例子select是采用select(非阻塞模式)做的。 运行方法: a.安装comsenseEXP,配置windows上php环境变量(目的是使得win...
包含客户端和服务端的一个php socket例子。 转载自网络。自己测试成功。 服务端请在命令行下运行。
HP用SOCKET实现(客户端---服务端)通信.doc
phpsocket.io 基于PHP中服务器端替代实现。注意仅支持socket.io v1.3.0或更高版本。 该项目仅由翻译socket.io。 有关更多API,请参见安装作曲家需要workerman / phpsocket.io例子简单聊天start.php use Workerman \ ...
安装搭建教程+环境 ...php ./socket.php start -d 切换到daemon目录下: cd /您搭建网站的目录/daemon 例子:【cd /www/wwwroot/你的目录/daemon】 php ./watch.php start 后台地址:/ht.php 后台账户:admin
phpsocketSocket位于TCP/IP协议的传输控制协议,提供客户-服务器模式的异步通信,即客户向服务器发出服务请求,服务器接收到请求后,提供相应的反馈或服务!我练习了一个最基本的例子: 使用并发起一个阻塞式(block...
本文实例讲述了php中socket通信机制及用法。分享给大家供大家参考。具体分析如下: 一、socket是什么 什么是socket 所谓socket通常也称作”套接字”,用于描述ip地址和端口,是一个通信链的句柄。应用程序通常通过”...
Java: : Python: : PHP: : Golang: : Perl: ://metacpan.org/pod/SocketIO :: 锈: : :bookmark_tabs: 表中的内容 :green_book: 建筑学 :person_running: 入门Gradle导入散发备忘单例子包含一个有效的...
1.安装 上传源码到网站目录,设置网站目录为源码二级目录public,很多虚拟主机不支持此...调用例子群文件获取,官网对接看这里 必须要开启Workerman 心跳处理,2种心跳方式,一种web定时心跳,一种socket主动发送
在PHP中,开发者需要考虑的东西比较多,从socket的连接、建立、绑定、监听等都需要开发者自己去操作完成,对于初学者来说,难度方面也挺大的,所以本文的思路如下: 1、socket协议的简介 2、介绍client与server之间...
需要sockets或socket_create PHP扩展加载(默认情况下为它们) 例子 这是DNS服务器用法的示例: require_once __DIR__. '/../vendor/autoload.php' ; // JsonResolver created and provided with path to file ...
php脚本语言实现,php-handelrsocket是一个对mysql的socket的一个扩展程序,包含相应的php的测试代码以及相关的测试的例子程序代码,初学者不错的参考例子程序
利用php实现,php-handelrsocket是一个对mysql的socket的一个扩展程序,包含相应的php的测试代码以及相关的测试的例子程序代码,作为开发的各种例子程序代码
利用php实现,php-handelrsocket是一个对mysql的socket的一个扩展程序,包含相应的php的测试代码以及相关的测试的例子程序代码,初学者不错的参考例子程序
源码采用php实现,php-handelrsocket是一个对mysql的socket的一个扩展程序,包含相应的php的测试代码以及相关的测试的例子程序代码,作为开发的各种例子程序代码
* 支持socket、ssl、curl、mcrypt、mhash,开启php.ini文件中的以下地方 * * ;extension=php_sockets.dll * * ;extension=...
采用php的源码实现,php-handelrsocket是一个对mysql的socket的一个扩展程序,包含相应的php的测试代码以及相关的测试的例子程序代码,手头参考的例子程序代码