php能否实现(php直接接受tcp协议的tcp格式数据,不知道这样的叫法是否正确),实现的是报警器联网页,当报警器发出报警信号时(通过tcp协议发送tcp格式数据包(貌似都是16进制的,反正我是搞php的,看不懂这些,这些设备以前是和软件通信的,软件可以直接识别这些信号)),网页直接弹出一个警报提示(当然网页时一直打开的),直接请求网页肯定不行,但是通过socket 是否可以实现,别的还有什么办法吗

解决方案 »

  1.   


    socket 不是支持tcp协议吗
      

  2.   

    php监听端口接收数据还是可以的...
    //创建socket监听端口
    $socket = socket_create_listen("55555");
    //连接失败给出错误信息
    if(!$socket){
    exit("Failed to create socket!\n");
    }
    while(true){
    $client = socket_accept($socket);    //接受一个Socket连接
      

  3.   


    这个数据时用tcp/ip协议传输的tcp格式的数据,这样也可以监听到吗
      

  4.   

    LZ的问题不只是要收到这些数据,还需要在页面上时实表现出来。
    收到这些数据不难,SOCKET就可以了,但PHP是基于页面响应的,用PHP来做数据服务器,只会让事情变的更复杂。况且,监听SOCKET之后就不能再向页面发回数据了,否则,PHP会中止。这种情况,我一般的做法是,另外做一个数据接收服务器,收到数据之后写入数据库,页面上,Ajax定时查询,如果有新的数据写入就显示提示,这种方法是最正规的方法,但实时性就不怎么样了。但是本来网页就不是来干这种实时性活的。