sunnysunny2008 2014-03-27 02:36
浏览 2066

php socket 客户端的多次通信

想用php做一个socket 客户端,可以实现一次连接,然后多次给服务端发消息。具体的想法是这样的:
做一个页面,这个页面上有个按钮和消息栏,点一下按钮就可以把消息栏的内容发送给服务端,再点一下再发送,而不需要重新连接,只是页面打开时跟服务端连接上。
这个要怎么实现呀?请各位大牛帮帮忙,小妹先谢过了。
附上socket类的代码。

<?php
/** 定义ip,和端口 */

define ( 'PHP_SOCKET_PORT', '6000' );
define ( 'PHP_SOCKET_HOST', '127.0.0.1' );
define ( 'PHP_SOCKET_START', '' );
define ( 'PHP_SOCKET_END', '' );
// socket class
class socket{
var $socket; //socket 句柄
var $sendflag = ">>>";
var $recvflag = "<<<";
var $response;
var $debug = 1;
function socket($hostname,$port){
$address = gethostbyname($hostname);
$this->socket = socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
$result = socket_connect($this->socket,$address,$port);
if($this->debug == 1){
if ($result < 0) {
$result = "socket_connect() failed.\nReason: ($result) " . socket_strerror($result) . "
";
} else{
$result = "connect OK.
";
}
}

}
function sendmsg($msg){
socket_write($this->socket,$msg,strlen($msg));
$result = socket_read($this->socket,100);
$this->response = $result;
if($this->debug == 1){
printf("%s $msg
",$this->sendflag);
printf("%s $result
",$this->recvflag);
}
return $result;
}
function close(){
socket_close($this->socket);
}
}
?>

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
    • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
    • ¥50 有数据,怎么用matlab求全要素生产率
    • ¥15 TI的insta-spin例程
    • ¥15 完成下列问题完成下列问题
    • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
    • ¥15 YoloV5 第三方库的版本对照问题
    • ¥15 请完成下列相关问题!
    • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
    • ¥15 求daily translation(DT)偏差订正方法的代码