如何向通过套接字连接的特定客户端发送消息

user1hjgjhgjhggjhg

您好 这是我第一次使用套接字。我有多个客户端通过特定端口连接到我的套接字服务器。我想向特定客户端发送特定消息。我怎样才能做到这一点?。

我正在使用这个

https://github.com/navarr/Sockets

这是代码

<?php

use Navarr\Socket\Socket;
use Navarr\Socket\Server;

class EchoServer extends Server
{
    const DEFAULT_PORT = 7;

    public function __construct($ip = null, $port = self::DEFAULT_PORT)
    {
        parent::__construct($ip, $port);
        $this->addHook(Server::HOOK_CONNECT, array($this, 'onConnect'));
        $this->addHook(Server::HOOK_INPUT, array($this, 'onInput'));
        $this->addHook(Server::HOOK_DISCONNECT, array($this, 'onDisconnect'));
        $this->run();
    }

    public function onConnect(Server $server, Socket $client, $message)
    {
        echo 'Connection Established',"\n";
    }

    public function onInput(Server $server, Socket $client, $message)
    {
        echo 'Received "',$message,'"',"\n";
        $client->write($message, strlen($message));
    }

    public function onDisconnect(Server $server, Socket $client, $message)
    {
        echo 'Disconnection',"\n";
    }
}

$server = new EchoServer('0.0.0.0');

$client->write($message, strlen($message));如果只有一个客户端连接,此行将向客户端发送一条消息。但是如果连接了多个客户端,那么我如何向特定客户端发送消息?

科斯特

在 onConnect 函数中添加此代码。

//declare this as global inside EchoServer class so that you can access this outside onConnect function
$connected_clients["userID"] = $client; //use unique id for key

然后发送消息,使用userID访问权限的客户端:

$connected_clients["userID"]->write($message, strlen($message));

要获取userID,一旦客户端连接到您的服务器请求客户端 ID,例如:使用 JSON 进行轻松通信,发送此 JSON 消息

{"messageType":"request", "requestType": "identification"} 

给客户。在客户端处理消息并发送此 JSON 消息

{"messageType":"response", 
 "body":{"userID":"123456", "accessToken":"ye5473rgfygf737trfeyg3rt764e"}} 

回到服务器。在服务器端验证访问令牌并userID从响应中检索userID是数据库中存储的唯一标识号,在注册到您的聊天站点期间分配给每个用户。

要知道发送消息的客户端,请使用此 JSON 消息格式

{"messageType":"message", 
 "from":"userID", 
 "body":"message here"}

修改以适合您的喜好。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

服务器无法通过C中的套接字向客户端发送消息

来自分类Dev

如何使用Java中的套接字从服务器向特定客户端发送字符串消息?

来自分类Dev

Spring Integration和TCP服务器套接字-如何向客户端发送消息?

来自分类Dev

使用Play Framework 2.3.6的Scala:向所有套接字客户端发送消息

来自分类Dev

从Node JS Socket客户端向MINA套接字服务器发送消息

来自分类Dev

如何一次向龙卷风套接字客户端广播消息?

来自分类Dev

通过套接字连接从kext验证客户端

来自分类Dev

SignalR向特定客户端发送消息

来自分类Dev

如何向Perl中的Websocket的已连接客户端发送定期消息

来自分类Dev

如何从Qt中的服务器向连接的客户端发送消息

来自分类Dev

如何通过Web客户端访问TCP套接字

来自分类Dev

套接字客户端连接

来自分类Dev

客户端套接字连接被拒绝

来自分类Dev

如何使用Spring通过WebSocket向客户端发送消息

来自分类常见问题

如何使用socket.io向特定客户端发送消息

来自分类Dev

ZMQ可以通过pub-sub套接字将消息发布到特定客户端吗?

来自分类Dev

ZMQ可以通过pub-sub套接字将消息发布到特定客户端吗?

来自分类Dev

如何使用Phoenix向特定的套接字发送消息

来自分类Dev

如何使服务器套接字广播到那里,并让客户端套接字检测并连接

来自分类Dev

如何使用套接字io将数据发送到特定房间中的特定客户端

来自分类Dev

套接字客户端如何setSoTimeout

来自分类Dev

使用套接字从服务器向客户端发送静态文件

来自分类Dev

C posix套接字,无法从客户端向服务器发送数据

来自分类Dev

套接字服务器无法接收客户端发送的消息

来自分类Dev

即使客户端未发送证书,SSL套接字连接仍能正常工作?

来自分类Dev

MQTT服务器如何向客户端发送一条消息,告知其未经授权的连接?

来自分类Dev

MQTT服务器如何向客户端发送一条消息,告知其未经授权的连接?

来自分类Dev

通过TCP套接字从Java Server返回消息到Android客户端

来自分类Dev

C ++服务器无法通过套接字从python客户端读取我的消息

Related 相关文章

  1. 1

    服务器无法通过C中的套接字向客户端发送消息

  2. 2

    如何使用Java中的套接字从服务器向特定客户端发送字符串消息?

  3. 3

    Spring Integration和TCP服务器套接字-如何向客户端发送消息?

  4. 4

    使用Play Framework 2.3.6的Scala:向所有套接字客户端发送消息

  5. 5

    从Node JS Socket客户端向MINA套接字服务器发送消息

  6. 6

    如何一次向龙卷风套接字客户端广播消息?

  7. 7

    通过套接字连接从kext验证客户端

  8. 8

    SignalR向特定客户端发送消息

  9. 9

    如何向Perl中的Websocket的已连接客户端发送定期消息

  10. 10

    如何从Qt中的服务器向连接的客户端发送消息

  11. 11

    如何通过Web客户端访问TCP套接字

  12. 12

    套接字客户端连接

  13. 13

    客户端套接字连接被拒绝

  14. 14

    如何使用Spring通过WebSocket向客户端发送消息

  15. 15

    如何使用socket.io向特定客户端发送消息

  16. 16

    ZMQ可以通过pub-sub套接字将消息发布到特定客户端吗?

  17. 17

    ZMQ可以通过pub-sub套接字将消息发布到特定客户端吗?

  18. 18

    如何使用Phoenix向特定的套接字发送消息

  19. 19

    如何使服务器套接字广播到那里,并让客户端套接字检测并连接

  20. 20

    如何使用套接字io将数据发送到特定房间中的特定客户端

  21. 21

    套接字客户端如何setSoTimeout

  22. 22

    使用套接字从服务器向客户端发送静态文件

  23. 23

    C posix套接字,无法从客户端向服务器发送数据

  24. 24

    套接字服务器无法接收客户端发送的消息

  25. 25

    即使客户端未发送证书,SSL套接字连接仍能正常工作?

  26. 26

    MQTT服务器如何向客户端发送一条消息,告知其未经授权的连接?

  27. 27

    MQTT服务器如何向客户端发送一条消息,告知其未经授权的连接?

  28. 28

    通过TCP套接字从Java Server返回消息到Android客户端

  29. 29

    C ++服务器无法通过套接字从python客户端读取我的消息

热门标签

归档