php使用socket进行通信

先写了个简单的例子,以后有机会再慢慢补充。
在CMD下启动服务端(php socketServer.php),然后启动客户端(php socketClient.php),输入文字就能发送了。

这里写图片描述

socketClent.php

$addr = "127.0.0.1";
$port = 8080;


fwrite(STDOUT,"Please input a argument:");
$message = trim(fgets(STDIN));



echo "Message To server $message \n";

$sock = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create socket\n");;

$result = socket_connect($sock, $addr, $port) or die("Could not connect to server\n");

socket_write($sock, $message, strlen($message)) or die("Could not send data to server\n");

$result = socket_read ($sock, 1024) or die("Could not read server response\n");
echo "Reply From Server  $result \n";

socket_close($sock);

socketServer.php

<?php
set_time_limit(0);
$addr = "127.0.0.1";
$port = 8080;


$sock = socket_create(AF_INET, SOCK_STREAM, 0);

if($sock < 0)
{
    echo "failed to create socket: ".socket_strerror($sock)."\n";
        exit();
}

$ret = socket_bind($sock, $addr, $port);
$listen =  socket_listen($sock, $port);
echo "listen $port ...\n";

while(true)
{
    if(($newc = socket_accept($sock)) !== false)
    {
        $line = trim(socket_read($newc, 1024));
        echo "Client msg: $line \n";

        fwrite(STDOUT,"Please input a argument:");
        $message = trim(fgets(STDIN));

        socket_write($newc , $message);
        echo "Message To Client $message \n";
    }
}

socket_close($sock);
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值