欢迎光临
我们一直在努力

PHP和Linux C端socket进行通讯 | PHP socket 代码

如题,再经过多方资料的查找 在web端很少有能进行socket通讯的东西,发现了HTML5 + JS的方式实现了Websocket 但是。。。这个是websocket 并不是传统socket,也许原理上差不多吧,但这不是我想要的。
找这个东西的原因是,我有一个前端WEB页面,需要向后端的Linux C的代码程序进行通讯,也许方式有很多,CGI,POST,GET等等等等,但是我还是习惯用socket这种方式,原因有几个,灵活拓展性好,相比其他几种 需要在程序里嵌入一些HTML语言的一些东西,感觉很乱。所以最终决定用socket。
于是我遇到了第二个问题,那就是web端如何实现socket通讯呢? 通过特殊的面向搜索编程的方法,终于让我找到一个捷径—-那就是PHP大法。通过php可以很容易实现socket通讯,而且下载了一个demo改了下 试了一下,发现可以轻松的和我后端socket程序进行通讯。所以很棒,我就把这个demo小小记录一下。如有侵权,联系我。。。
因为我的后端程序是socket的server端,所以我的demo用的是clent端。


TCP/IP Connection\n";

$port = 1921;             //别问我为啥用1921,因为我很爱党
$ip = "192.168.0.115";   //换成自己的服务端主机IP

/*
 +-------------------------------
 *    @socket连接整个过程
 +-------------------------------
 *    @socket_create
 *    @socket_connect
 *    @socket_write
 *    @socket_read
 *    @socket_close
 +--------------------------------
 */

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket < 0) {
    echo "socket_create() failed: reason: " . socket_strerror($socket) . "\n";
}else {
    echo "OK.\n";
}

echo "试图连接 '$ip' 端口 '$port'...\n";
$result = socket_connect($socket, $ip, $port);
if ($result < 0) {
    echo "socket_connect() failed.\nReason: ($result) " . socket_strerror($result) . "\n";
}else {
    echo "连接OK\n";
}

$in = "hello word";
$out = '';

if(!socket_write($socket, $in, strlen($in))) {
    echo "socket_write() failed: reason: " . socket_strerror($socket) . "\n";
}else {
    echo "发送到服务器信息成功!\n";
    echo "发送的内容为:$in 
"; } while($out = socket_read($socket, 8192)) { echo "接收服务器回传信息成功!\n"; echo "接受的内容为:",$out; } echo "关闭SOCKET...\n"; socket_close($socket); echo "关闭OK\n"; ?>
赞(0) 打赏
未经允许不得转载:huangea的博客 » PHP和Linux C端socket进行通讯 | PHP socket 代码
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

有趣的网站

联系我们联系我们

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏