0

ログイン システム用にブラウザのような Cookie/セッション機能をゲームに実装しようとしています。

私が理解している限りでは、Cookie の仕組みは次のとおりです。

1 - Client request page without cookie in requestheader.
2 - Server receives requestheader without cookie in it and generates cookie for client.
3 - Server responds with a cookie for first request.
4 - In further requests server includes cookie in header.
5 - Client copies cookie info from second respond and adds it into requestheader later on.

問題は、最初のリクエストで Cookie を送信できるようにする必要があることです。unity3d では、すべてのリクエストでクライアントの SessionId が変更されるためです。

最初のリクエストで持っていないリクエストヘッダーにCookieを含めない限り、ブラウザのようには機能しません。そのため、1〜3ステップの間で行き詰まります。

更新: これは、次の codeigniter コードを使用した Chrome での私の経験です。

public function getcookie()
{
    echo $this->input->get_request_header('Cookie', TRUE);
}

http://mydomainaddr.com/srv/index.php/Srv/getcookieこのページを呼び出すと 、最初のリクエストでは何も出力されません。更新すると印刷が始まります...

4

2 に答える 2

0

サーバーが Cookie で応答しないのはなぜ3ですか? ほとんどのサイトでは、最初の訪問時にセッション ID が提供されます。これは、少なくとも私が常に行ってきた方法です。

実際、最初のリクエストで Cookie を送信しない場合、訪問者が 2 回目のリクエストを行っていることをどのようにして知ることができるでしょうか?

于 2013-01-08T17:48:20.040 に答える
0

最初に、応答サーバーは、後で要求ヘッダーに含める必要がある応答ヘッダーで、SET-COOKIE または Set-Cookie ヘッダー (Cookie ヘッダーではなく) で Cookie 情報を送信します。

したがって、最初のリクエストに「Cookie」という名前のヘッダーがなかった理由が説明されています。

于 2013-01-08T18:59:40.210 に答える