大家有没有PHP的SOCKET通信方面的资料或技术.PHP自身的SOCKET存在漏洞。不敢用。想用HTML5的SOCKET呢。现在学习资料找不到。想用FLASH来实现呢。帕HTML5出来。又落后了。想用AJAX呢。感觉这个速度肯定赶不上SOCKET。不晓得Silverlight + PHP 可不可以在LAMP下运行呢?
解决方案 »
- 有谁知道这套blog系统叫什么吗?哪里有下?
- 求救:apache在加载PHP模块后不能启动!!!
- MYSQL问题
- php 的三元操作符,怎么样控制输出,就是说:如果是1输出一个"是"字,如果是0输出一个'否'字
- 如何解决c:\mysql\share\charsets\?.conf' not found (Errcode: 2)...的错误?
- 杭州的phper找工作了
- 各位大哥来帮帮小弟吧,什么都不会怎么写这个新闻发布系统啊?!
- php里的javascript 问题在线等待___________________________
- 关于代码优化,书写格式
- 除了传递值外,是否还有其它的方法.
- php读取xml数据
- php+Smarty的问题!!!!!
<?php
if(isset($_POST['submit']))
{
error_reporting(E_ALL);
set_time_limit(0);
echo "<h2>TCP/IP Connection</h2><p>";$service_port = 1874; //连接的端口号,与服务端的端口要一致
$address = "127.0.0.1"; //设置IPif(!($socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)))exit; //创建一个SOCKET
else echo "SOCKET创建OK.<p>";
echo "试图连接 $address 端口:$service_port...<p>";$result = socket_connect($socket, $address, $service_port); //开始连接
if ($result < 0)exit;
else echo "连接OK<p>";$message = $_POST['message']."\r\n"; //想要向服务器传送的消息if(!socket_write($socket, $message, strlen($message)))exit; //开始向服务器传送消息
else echo "<font color='blue'>向服务器发送信息:$message</font>(<font color='green'>成功!!!</font>)<p>";while($out = socket_read($socket, 8192)) //读取服务器返回的消息
echo "<font color='red'>接收服务器回传信息:$out</font>(<font color='green'>成功!!!</font>)<p>";echo "正在关闭SOCKET...<p>";
socket_close($socket);
echo "SOCKET关闭OK<p>";
}
?> <form method="post">
<input type="text" name="message">
<input type="submit" name="submit" value="开启客户端">
</form>
<?php
if(isset($_POST['submit']))
{
ignore_user_abort(true);
set_time_limit(0); //确保在连接客户端时不会超时$address='127.0.0.1'; //设置IP
$port=1874; //端口号,调试的时候,可以多换端口来测试程序!if(!($sock=socket_create(AF_INET,SOCK_STREAM,SOL_TCP)))exit; //创建一个SOCKETif(!($ret=socket_bind($sock,$address,$port)))exit; //绑定到socket端口if(!($ret=socket_listen($sock,4)))exit; //开始监听while (true){ //以下是用来接收client(客户)端传来的信息
flush();
sleep(1);
if (!($msgsock = socket_accept($sock)))exit; echo "读取客户端发来的信息<p>"; $buf = socket_read($msgsock,8192); //将接收到的资源$msgsock用socket_read每次8192的大小读到$buf中
$talkback = "<font color=red>收到的信息:$buf</font><p>";
echo $talkback; $return_msg = "嗨,尊敬的用户,您好\r\n";
if(!(socket_write($msgsock, $return_msg, strlen($talkback))<0)) //向client端返回向要的信息(可有可无)
{
echo "<font color='blue'>向客户端返回信息为:$return_msg</font><p>";
}
socket_close($msgsock);
};socket_close($sock);
}
?><form action="" method="post">
<input type="submit" name="submit" value="开启服务器">
</form>
HTML5?
微軟轉行linux了?
那麽多php客戶端的socket api怎麽就沒見卡呢。