我正在用php创建一个简单的套接字服务器。但是我有一些怀疑,因为这是我第一次做这样的事情。我的问题是如何识别客户端,这也许是身份验证系统。
到目前为止,我已经尝试过:
服务器代码:https://www.codepile.net/pile/vBZP9xkq
客户代码:https://www.codepile.net/pile/YlD2JDjB
当我开始创建服务器时,我认为不需要身份验证系统,因为我拥有登录站点,原则上套接字将共享相同的cookie,这样,在套接字服务器上,我将拥有访问客户端会话。
所以他知道套接字X是客户端X。
但是让我惊讶的是,标题中出现了一个不同的phpsessid。
PHPSESSID=7fo97nhaqfgir55ar17cr8c364 // php and js (site)
PHPSESSID=isjbjik06p0d8srm4j1ccptj2b // socket
它们有什么不同之处?
这是我的第二种方法,向套接字地址添加参数:
但是我很快意识到,在套接字服务器上我什么都抓不到,标题和变量$ _SERVER和$ _REQUEST没有参数。
后来我知道它不会通过,因为它不是http请求,因此它不携带此信息。
此刻我有点迷茫,我不知道如何识别进入套接字的客户端,因为我拥有的唯一信息是ip,这是不切实际的,因为在同一个ip中可以有X客户端。
有人可以向我解释对套接字进行身份验证的正确方法吗?