代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
PHP
】
PHP做端口监听
作者:
/ 发布于
2011/3/15
/
735
<div><span style="line-height: 21px; font-family: verdana, sans-serif" class="Apple-style-span">服务器 <?php // Server // 设置错误处理 error_reporting (E_ALL); // 设置运行时间 set_time_limit (0); // 起用缓冲 ob_implicit_flush (); $ip = "127.0.0.1"; // 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); } socket_close ($socket); // 关闭SOCKET ?> 客户端 <?php // Client // 设置错误处理 error_reporting (E_ALL); // 设置处理时间 set_time_limit (0); $ip = "127.0.0.1"; // 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"; $conn = socket_connect ($socket, $ip, $port); // 建立SOCKET的连接 if ($conn) echo "Success to connection![".$ip.":".$port."]\n"; else echo "socket_connect() failed:".socket_strerror ($conn)."\n"; echo socket_read ($socket, 1024); $stdin = fopen ('php://stdin', 'r'); while (true) { $command = trim (fgets ($stdin, 1024)); socket_write ($socket, $command, strlen ($command)); $msg = trim (socket_read ($socket, 1024)); echo $msg."\n"; if ($msg == "Bye-Bye") break; } fclose ($stdin); socket_close ($socket); </span> <span style="line-height: 21px; font-family: verdana, sans-serif" class="Apple-style-span">?></span> </div>
试试其它关键字
端口监听
同语言下
.
用net匹配并替换iOS标准的emoji表情符号
.
处理带Emoji表情的的字符串
.
获取微信昵称时 过滤特殊字符
.
通过判断上传文件的头字符来判断文件的类型
.
模拟百度URL加密解密算法
.
以太坊检查地址是否合法
.
实现crontab解析类
.
获取每个月的开始和结束时间
.
图片上传工具类
.
APP手机应用信息采集
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
贡献的其它代码
Label
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3