WebSocket デプロイメントサーバーが外部ネットワークに接続できない問題の解決策

黄舟
リリース: 2017-09-26 10:40:56
オリジナル
3891 人が閲覧しました

最初に言いたいのは、私が遭遇した問題です:

<span class="typ">WebSocket<span class="pln"> <span class="str">' への接続ws:/ /www.xxxx.com/xxx/xx'<span class="pln"> 失敗しました<span class="pun">:<span class="pln"> <span class="typ">エラーWebSocket<span class="pln"> ハンドシェイク中 <span class="pun">:<span class="pln"> <span class="typ">予期しない<span class="pln">応答コード<span class="pun">:<span class="pln"> <span class="lit">200<br>Web サイトはサーバーにバインドされており、 WebSocket サービスは実行可能ですが、外部ネットワークを使用してアクセスする場合、このエラーが最大の敵です。これは簡単に解決できます。上司と直接向き合う<br> <br>解決策を探すのに午後 2 日かかりましたが、見つかりませんでした。ただし、.NET を使用してこの問題を直接説明している解決策はあまりありません。友人たちにも、私はこの問題に直面したことがあります。 <br>これはブラウザの問題とは関係ありません。Firefox、Google、IE でテストしましたが、予想される問題が依然として発生します。 <br>開発プラットフォーム: .NET、ASP.NET MVC を使用してウェブサイトを構築します<code><span class="typ">WebSocket<span class="pln"> connection to <span class="str">'ws://www.xxxx.com/xxx/xx'<span class="pln"> failed<span class="pun">:<span class="pln"> <span class="typ">Error<span class="pln"> during <span class="typ">WebSocket<span class="pln"> handshake<span class="pun">:<span class="pln"> <span class="typ">Unexpected<span class="pln"> response code<span class="pun">:<span class="pln"> <span class="lit">200<br>网站绑定到了服务器,直接在服务器上访问webSocket服务是可行的,但是当我用外网访问时,这个错误就是我最大的敌人,在这之前还遇到过几个小毛贼,可以轻松解决,不再提,直面boss吧<br><br>花费两个下午的时间寻找解决方案,但是并没有找到,各种解决方案,但是直接来描述.NET下使用这一问题的,却是不多,然而面对了这一问题的朋友,大把的有。<br>这个无关浏览器问题,我有火狐,谷歌,IE测试过,该出的问题还是会有。<br>开发平台:.NET,利用ASP.NET MVC搭建网站</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><span class="typ"><span class="pln"><span class="str"><span class="pln"><span class="pun"><span class="pln"><span class="typ"><span class="pln"><span class="typ"><span class="pln"><span class="pun"><span class="pln"><span class="typ"><span class="pln"><span class="pun"><span class="pln"><span class="lit">,在其中利用WebSocket服务,目的是在网站内设计一个讨论平台。<br></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>

<span class="typ"><span class="pln"><span class="str"><span class="pln"><span class="pun"><span class="pln"><span class="typ"><span class="pln"><span class="typ"><span class="pln"><span class="pun"><span class="pln"><span class="typ"><span class="pln"><span class="pun"><span class="pln"><span class="lit"><span style="font-size: 15px"><code><span class="typ"><span class="pln"><span class="str"><span class="pln"><span class="pun"><span class="pln"><span class="typ"><span class="pln"><span class="typ"><span class="pln"><span class="pun"><span class="pln"><span class="typ"><span class="pln"><span class="pun"><span class="pln"><span class="lit"> </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>

<span class="typ"><span class="pln"><span class="str"><span class="pln"><span class="pun"><span class="pln"><span class="typ"><span class="pln"><span class="typ"><span class="pln"><span class="pun"><span class="pln"><span class="typ"><span class="pln"><span class="pun"><span class="pln"><span class="lit"><span style="font-size: 15px"><code><span class="typ"><span class="pln"><span class="str"><span class="pln"><span class="pun"><span class="pln"><span class="typ"><span class="pln"><span class="typ"><span class="pln"><span class="pun"><span class="pln"><span class="typ"><span class="pln"><span class="pun"><span class="pln"><span class="lit"> 具体来说一说:</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>

🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜<span class=" typ"><span class="pln"><span class="str"><span class="pln"><span class="pun"><span class="pln"><span class="typ"><span class="pln"><span class="typ"><span class="pln"><span class="pun"><span class="pln"><span class="typ"><span class="pun"><span class="pln"><span class="lit">。WebSocket サービスを使用して Web サイト内のディスカッション プラットフォームを設計します。 <br>🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>🎜🎜🎜🎜<span class="typ"><span class="pln"><span class="str"><span class="pln"><span class="pun"><span class="pln"><span class="typ"><span class="pln"><span class="typ"><span class="pln"><span class="pun"><span class="pln"><span class="typ"><span class="pln"><span class="pun "><span class="pln"><span class="lit">🎜<code><span class="typ"><span class="pln"><span class="str"><span class="pln"><span class="pun"><span class="pln"><span class="typ"><span class="pln"><span class="typ"><span class="pln "><span class="pun"><span class="pln"><span class="typ"><span class="pln"><span class="pun"><span class="pln"> <span class="lit"> 🎜🎜🎜🎜🎜🎜🎜🎜</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>🎜🎜🎜🎜<span class="typ"><span class="pln"><span class="str"><span class="pln"><span class="pun"><span class="pln"><span class="typ"><span class="pln"><span class="typ"><span class="lit">🎜<code><span class="typ"><span class="pln"><span class="str"><span class="pln"><span class="pln"><span class="typ "><span class="pln"><span class="pun"><span class="pln"><span class=" lit">具体的に言うと: 🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜 🎜🎜🎜🎜🎜🎜🎜</span></span></span></span></span></span></span></span></span></span>🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜 🎜🎜🎜🎜🎜🎜🎜🎜 🎜🎜

<span class="typ"><span class="pln"><span class="str"><span class="pln"><span class="pun"><span class=" pln"><span class="typ"><span class="pln"><span class="typ"><span class="pln"><span class="pun"><span class="pln"><span class="typ"><span class="pln"><span class="pun"><span class="pln"><span class="lit"><code><span class="typ"><span class="pln"><span class="str"><span class="pln"><span class="pun"><span class="pln"><span class="typ"><span class="pln"><span class="typ"><span class="pln"><span class="pun"><span class="pln"><span class="typ"><span class="pln"><span class="pun"><span class="pln"><span class="lit"><span style="font-size: 15px"><code><span class="typ"><span class="pln"><span class="str"><span class="pln"><span class="pun"><span class="pln"><span class="typ"><span class="pln"><span class="typ"><span class="pln"><span class="pun"><span class="pln"><span class="typ"><span class="pln"><span class="pun"><span class="pln"><span class="lit"> </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><span class="typ"><span class="pln"><span class="str"><span class="pln"><span class="pun"><span class="pln"><span class="typ"><span class="pln"><span class="typ"><span class="pln"><span class="pun"><span class="pln"><span class="typ"><span class="pln"><span class="pun"><span class="pln"><span class="lit">首先,看下我的网页代码</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><span class="typ"><span class="pln"><span class="str"><span class="pln"><span class="pun"><span class="pln"><span class="typ"><span class="pln"><span class="typ"><span class="pln"><span class="pun"><span class="pln"><span class="typ"><span class="pln"><span class="pun"><span class="pln"><span class="lit">:</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><span class=" typ"><span class="pln"><span class="str"><span class="pln"><span class="pun"><span class="pln"><span class="typ"><span class="pln"><span class="typ"><span class="pln"><span class="pun"><span class="pln"><span class="typ"><span class="pun"><span class="pln"><span class="lit"> </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>




code>




<span class="typ"><span class="pln"><span class=" str"><span class="pln"><span class="pun"><span class="pln"><span class="typ"><span class="pln"><span class="typ"><span class="pln"><span class="pun"><span class="pln"><span class="typ"><span class="pln"><span class="pun"><span class="lit">首先,看下我的网页代码<p><br></p> <p></p> <p></p> <p></p> <p></p> <p></p> <p></p> <p></p></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>🎜<span class="pln"><span class="typ"><span class="pln"><span class="pun"><span class="pln"><span class=" typ"><span class="pln"><span class="pun"><span class="pln"><span class="lit">:🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜 🎜🎜🎜</span></span></span></span></span></span></span></span></span></span>🎜🎜🎜🎜🎜
<script type="text/javascript">
        $(function () {            
        var url = "ws://xxxx:xx"+"@Url.Action("RequestProcessCenter")";            
        var ws;            
        function connect() {
                ws = new WebSocket(url);
                $("#TopicContent").append("正在连接\n");
                ws.onopen = function () {
                    $("#TopicContent").append("已经连接\n");
                };
                ws.onmessage = function (evt) {
                    console.log(evt.data);
                    $("#TopicContent").append(evt.data);
                };
                ws.onclose = function () {
                    $("#TopicContent").append("已经关闭\n");
                };
                ws.onerror = function (evt) {
                    console.log(evt.data);
                    $("#TopicContent").append(evt.data);
                };
            };
            $("#send").click(function () {
                console.log(1);
                console.log(ws.readyState);
                console.log(WebSocket.OPEN);                
                if (ws.readyState == WebSocket.OPEN) {
                    ws.send($("#content").val());
                    $(this).val("");
                }                else {
                    $("#TextMessge").append("连接已经关闭");
                }
            });
            $("#open").click(function () {
                connect();
            });
            $("#close").click(function () {
                ws.close();
            });
        });    </script>
ログイン後にコピー
🎜後台番号:🎜🎜🎜🎜🎜
public void RequestProcessCenter()
        {            if (HttpContext.IsWebSocketRequest)
            {                var currUser = GetCurrUser();                
            this._UserName = currUser.LoginName;
                HttpContext.AcceptWebSocketRequest(ProcessTopic);
            }            else
            {
                HttpContext.Response.Write("请求失败哟");
            }
        }
ログイン後にコピー
🎜webSocketが要求するurl格式私应该は割り当てられません。写真:🎜🎜🎜🎜 🎜 要求が成功したにもかかわらず、200 を返しますが、結果は私が望むものではありません。多资料,但し并この問題についてはまだ真の正解が見つかっていないか、私たちのやり方に問題があると考えられていますが、百分率前の 3 つの問題は認識されており、望ましい解決策はありません。私がサーバー上に配置されている Web サイト、用件は承認された 80 ポート、访问会失效、如果 webSocket 不使用と网站绑定的同一口呢?域名、端口80无效🎜2. webSocket利用2017端口有效🎜🎜总结80端口可能受系制限🎜另側面:ドメイン名绑定否会影响なし测试🎜🎜 🎜🎜成功解決决了外部网虽返還200回websocketサービス务を使用できません🎜🎜これこの状況では、IIS サーバーに 2 つの Web サイトを追加する必要があります。1 つは通常の 80 ポートのネットワーク接続用で、もう 1 つは個別の WebSocket 機能であり、この 2 つの Web サイトは同じバージョンのバージョンを使用できます。 🎜🎜 この Web サイトは WebSocket のいくつかの知識を提供しており、WebSocket は 80-433 ポートを使用しているか、または、私が考えているのは、WebSocket が定義したポートと WebSocket です。同じポートの場合、外部ネットワーク要求は今回発生した問題であり、この問題も一度は深く掘り下げることができず、時間性の機能は達成されましたが、この解決策は優れたものではないと感じており、要求を満たしているだけです、要求プロセスを確認できません。是我我本地服务,故防火阻止不能,但我我使用外部网站,入网规则或茡匡了我的要求,点击接続,発行用WebSocketサービス务,一方サービスポート口も80ポート使用,起立防火許可问出题。🎜🎜 🎜

以上がWebSocket デプロイメントサーバーが外部ネットワークに接続できない問題の解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!