1
chrome.browserAction.onClicked.addListener(function (tab) { 
           var httpReq = new XMLHttpRequest(); 
           httpReq.addEventListener("error", function() { console.error(httpReq.status + " " + httpReq.statusCode); }) 
          var dotNetUrl = "http://localhost:60005/"; 
          httpReq.open("POST", dotNetUrl) 
          httpReq.send("HELLO"); 
}) 

6回のクリック後、要求は送信を停止します。拡張機能やサーバーをリロードすると、さらに6つ送信できます。私のVB.NETアプリケーションは反対側で受信しています。XMLHttpRequestは6回後に送信を停止します

Public Async Sub CallListener() 
    Await Threading.Tasks.Task.Run(Sub() Listener()) 
End Sub 

Public Sub Listener() 
    Try 
     While (True) 
      Dim t = hListener.GetContextAsync() 
      Dim context As HttpListenerContext = t.Result() 
      Dim request As HttpListenerRequest = context.Request() 

      Dim stream As IO.Stream = request.InputStream 
      Dim reader As IO.StreamReader = New IO.StreamReader(stream) 
      Dim streamRTE As String = reader.ReadToEnd() 

      stream.Close() 
      reader.Close() 

      RaiseEvent DataReceived(streamRTE) 
     End While 
    Catch ex As Exception 
    End Try 
End Sub 

テストVB.NETクライアントを作成して自分のサーバーであるかどうかを確認しましたが、そうではありませんでした。クライアントは望みどおりに送信することができ、サーバーはそれを受信しました。おそらく、いくつかの非互換性がありますか?私はGoogle Chrome拡張機能で.NETアプリケーションにデータを送信したいだけです。私の拡張機能は何も受け取る必要はありません。

+0

コンソール内の任意のネットやjsのエラーが出ないのですか?もしそうなら、ここに貼り付けることができますか?また、次のようにエラーイベントハンドラをアタッチすることもできます。 httpReq.addEventListener( "error"、function(){ console.error(httpReq.status + "" + httpReq.statusCode); }) ** ** send()メソッドが呼び出される前に** –

+0

エラーはありません。イベントリスナーを追加しましたが、何も表示されませんでした。 OPの私のコードを更新しました。 – user287848

+1

それでは、ブレークポイントを設定するか、console.log( "click")と書いてください。機能(タブ){とそれが印刷されているかどうかを確認してください。そうでなければ、それはボタンのリスナーで何かです。また、ボタンをクリックしたときにポップアップが表示されますか? –

答えて

1

これは、サーバからの応答の欠如に起因しています。

VBコード

Dim response As HttpListenerResponse = context.Response() 
Dim responseString As String = "" 
Dim b As Byte() = System.Text.Encoding.UTF8.GetBytes(responseString) 
Dim outputStream As IO.Stream = response.OutputStream 
outputStream.Write(b, 0, b.Length) 
outputStream.Close() 

にサーバーの応答ので、保留中のものは存在しませんよう今のブラウザでは、より多くの要求を行うことができるはずです。

+0

私のような新しいクローム開発者にとっては、 'Network'タブをチェックしてください。これは、xhr要求のステータスを判断するのに非常に役立ちました。 – user287848

関連する問題