hyperf / hyperf/socketio-server

事件回调的连接上下文中获取不到原始请求对象

Ouverte
#17 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
PHP
Étoiles
26
Forks
6
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

代码如下:
```
/**
* @Event("connect")
*/
public function onConnect(Socket $socket)
{
$request = \Hyperf\WebSocketServer\Context::get(
Psr\Http\Message\ServerRequestInterface::class
);
var_dump($request);
return;
}
```
打印结果为null,在`onHandShake`回调的`initRequest`方法中可以正常打印出结果
```
/**
* Initialize PSR-7 Request.
*/
protected function initRequest(SwooleRequest $request): ServerRequestInterface
{
Context::set(ServerRequestInterface::class, $psr7Request = Psr7Request::loadFromSwooleRequest($request));
WsContext::set(ServerRequestInterface::class, $psr7Request);
var_dump(WsContext::get(ServerRequestInterface::class));
return $psr7Request;
}
```

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Start by comparing the onConnect callback with the onHandShake initRequest method shown in the report, tracing where ServerRequestInterface is stored and retrieved from Context. Verify the callback lifecycle and reproduce the null value; done means the original request is available in the connect context or the issue clearly documents the supported limitation.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
php
Domaine
backend
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.