zsx

zsx

先作为主站备份 源站:https://my.toho.red

まだv2exのエキスパートが多いですね。バグに遭遇した時、大佬に救われました。

最近、プロジェクトを研究しています(まもなく公開予定)。クライアント側での長時間接続による情報の配信があるため、WebSocketについて学び始めました。しかし、開発中に非常に奇妙な問題に遭遇しました:サーバーからクライアントにメッセージを送信できませんでした。socketioライブラリを使用していましたが、これは一般的なバグだと思っていましたが、何日もの間、さまざまな方法を試しても解決できませんでした。

具体的な状況は以下の通りです:

![2NA)G`@Q9@J$]1%DZA]XW1P.png]1

計画では、クライアントが登録に成功した後、サーバーはクライアントにトークンを返し、このトークンに対応する sid をバインドします。新しいメッセージがある場合、サーバーはトークンを使用して sid を検索し、メッセージをプッシュします。

簡単そうですよね?しかし、問題はここにあります:sid をどのように記録しても、メッセージを正しくプッシュすることができず、クライアントは反応しません。さまざまな解決策を試した後、私は自分を苦しめるのをやめ、問題を v2ex に投げかけ、助けを求めました怠け者ではないです

しかし、今日、希望が現れました:ある達人が解決策のコードを直接提供してくれました。問題が解決されたので、私は考え方を研究し始めました。一目見て、私は非常に大きなミスを犯していたことに気付きました:私がサーバーから取得した sid はサーバーのものであり、クライアントから sid を取得して、サーバーに sid を渡さなければ、サーバーはクライアントを特定してメッセージを送信することはできません。

初心者のミスですが、何日も悩んでいた問題が解決され、またバグを楽しく書くことができるようになりました。v 友達は本当にすごいと言わざるを得ませんが、自分のコーディングスキルを向上させる必要があるようです。そうしないと、次回は助けてくれる人に出会えないかもしれません。

2022 年 7 月 14 日

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。