問題タブ [tcpclient]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - SendBufferSize より大きいファイルを TcpClient 経由で送信できますか?
.NET で Tcp 接続を試していますが、TcpClient オブジェクトの SendBufferSize よりも大きなデータを送信したいと考えています。ネットワークストリームに書き込むだけでデータを送信することは可能ですか、それとも写真を切り取って送信し、もう一方の端で再度作成する必要がありますか?
c# - SendBufferSize より大きいデータを送信した場合、データはどのように受信されますか?
SendBufferSize よりも大きなデータを送信する方法について質問したところ、いくつかの部分に分けて送信されるという回答がありました。
2 番目の質問は、このデータをどのように受け取るかということです。ネットワークストリームで完結するのか、それとも分割してしまうのか。
c# - TcpClientが接続しません
私はC#でTcpクライアントを開発していて、TcpClient
クラスを使用しています。サーバーに接続できません。
Connect
アプリケーションをデバッグすると、への呼び出しが成功したことがわかりますが、これを行った後netstat
、サーバーとクライアントの両方の接続のステータスを確認します。その結果、サーバーは接続ESTABLISHED
されていますが、クライアントではnetstatの結果にサーバーへの接続が表示されません。
インスタンスを読み取るTcpClient
と、プロパティConnected
がtrueであることがわかりますので、問題はないはずですが、インスタンスから読み取ろうとするNetworkStream
とハングします。
ハングするとは、サーバーがデータを送信しているのに、readlineがデータをまったく取得していないことを意味します。
何が問題であり、いくつかの回避策があるか知っていますか?
ありがとう
c# - C#で接続を維持するためのサーバーとのTcpClient通信?
私は正常に動作するこのTcpClientコードを持っています。Linuxシステム上のperlサーバーに接続し、サーバーが送信したものをすべて受信します。うまく動作します。
ただし、特定の条件では、いくつかの問題が発生しています。
- 私の仕事用接続はアイドル時間の後に接続を切断することが多いので、サーバーに実装したので、PINGを受信するとPONGで応答します。UDPを使用してPINGをサーバーに送信でき、tcpでPONGで応答しますが、60秒ごとにPINGを送信するように、tcpクライアントに組み込まれた方法を使用することをお勧めします。UDPソリューションが受け入れられるとしても、タイムアウトは
string varReadData = Encoding.ASCII.GetString(data, 0, bytes).Trim();
発生しないため、PONGが到着しない場合、クライアントはとにかくそれに気づきません。それはただ待ち続けます...それは私を連れて来ます.. - 私の他の問題は、ある時点で
string varReadData = Encoding.ASCII.GetString(data, 0, bytes).Trim();
これが常にデータを待機していることです。サーバーがクラッシュしたり、クライアントを切断したりしても、気づきません。サーバーに何らかの機能を持たせtimeout
たり、接続がアクティブかどうかを確認したりしたいのですが。アクティブでない場合は、再接続を試みる必要があります。
このTcpClientを修正する最も簡単な方法は何でしょうか?サーバーが接続を切断したり、ネットが切断されたりした場合にクライアントがそれに気づき、接続を再確立することを確認するために、双方向通信を実装するにはどうすればよいですか?
silverlight-3.0 - Silverlight 3 でのネットワーク エラー処理
Tcp接続を使用するsilverlight3アプリケーションを書いています。私たちのプロジェクトは、クライアント サーバー アーキテクチャを使用します。クライアント部分は Silverlight アプリケーションで、サーバー部分は winform アプリケーションです。
接続には TcpClient と TcpListner を使用します。
次のエラーを処理できます:
1. ユーザーのシャットダウン
2. ユーザーのネットワーク ケーブルの取り外し
3. サーバーのシャットダウン
ただし、サーバーのネットワーク ケーブルの取り外しをユーザー レベルで処理することはできません (サーバーの場合は、NetworkChange.NetworkAvailabilityChanged イベントで処理します)。
どうすればそれができますか?
また、アプリケーションが正常に機能するために処理しなければならないネットワークは他にありますか?
ありがとう。
c# - HttpWebRequestと同じようにTcpClientでHTTPSを実行するにはどうすればよいですか?
私はTcpClientに基づく通信システムを持っています、そしてそれが特定のIPにHTTPSをしているときを除いてそれはうまく働きます。その後、失敗し始めます。
ブラウザまたはHttpWebRequestを使用することで、そのIPに対してHTTPSを実行することに問題はありません。
私は問題をその基本的な本質に絞り込むためのテストプログラムを作成しました。必要に応じて、ここでそれを見ることができます:TestViaTcp
このテストプログラムは、同じIPへの基本HTTPに対して完全に機能し、要求に対して常に正常な応答を生成します。私はそれをループに入れ、キーを押すことでトリガーします、それは一日中成功し続けます。HTTPSを切り替えるとすぐに、繰り返しパターンが発生します。それはうまくいくでしょう、そしてそれはうまくいきません、成功、失敗、そして一日中成功が続きます。
私が得続ける特定の失敗はこれです:
そして、これに添付されているスタックトレースは次のとおりです。
HttpWebRequestとブラウザはどちらも(IIRC)Win32ライブラリを使用してやり取りを処理しますが、TcpClientは(AFAIK)マネージド.net Socketクラスを使用するため、両者には大きな違いがあると確信しています。TcpClientでこれを行う必要があるので、残念ながら、「HttpWebRequestを機能させることができるとわかっているので、使用する」ことはできません。
ここで問題が何であるかについての最大のヒントは、おそらく「機能する、機能しない、機能する、機能しない」パターンですが、それを引き起こしているのは何ですか?発生しているIOExceptionを回避するにはどうすればよいですか?HttpWebRequestを使用してHTTPSを実行したときに表示される、「常に機能する」動作を取得する方法はありますか?
TcpClientを使用して、HttpWebRequestと同じように動作させ、反応させるためにできることがあるはずですが、まだそこにはいません。何か案は?
注:私が通信しているサーバーは、リッスンするポートと期待するプロトコルに関して構成可能ですが、それ以外の場合は完全に変更できません。
また、注意:.net 3.5ではSP1より前のSslStreamでこの特定の問題が発生したことを読みましたが、SP1があり、プログラムは3.5をターゲットにして構築されているため、これは「既知のバグ」ではないと想定しています。 mここにぶつかる。
.net - TcpClient SocketException .NET
私のコンピューターは、IPアドレスを自動的に取得するように構成されています。を使用するipconfig /all
と、次のように表示されます。
サーバーとクライアントのIPアドレスとして95.38.95.204
またはを使用する必要がありますか?192.168.72.198
私が使用したとき192.168.72.198
、サーバーは正常に接続されましたが、クライアントはSocketException
以下のようなものを投げました
接続されたパーティが一定期間後に適切に応答しなかったために接続の試行が失敗したか、接続されたホストが応答しなかったために確立された接続が失敗しました192.168.72.198:1986
この記事は、geekpedia(http://www.geekpedia.com/tutorial239_Csharp-Chat-Part-1---Building-the-Chat-Client.html )で使用しました。
誰かが私を助けることができればありがとう。
vb.net - TCP逆接続の支援が必要
作業中のいくつかのプロジェクト用に認証サーバーを作成しています。この認証サーバーは、認証を試みるユーザーにデータを送受信することで機能します。ユーザーはサーバーにデータを正常に送信できますが、返送する場合はポート転送が必要です。逆接続を使用してポート転送を必要としない方法を読みましたが、それを機能させる方法がわかりません。チュートリアルを見つけて実装しようとしましたが、ストリームを読み取るために接続しようとすると、接続が拒否されたと表示されます。
何か案は?
c# - C# を使用して IRC サーバーに接続する
ミニマルな IRC ボットを試してみましたが、接続できません。
私は TcpClient オブジェクトを介してこれを行っています。これは、他のそのようなプロジェクトで使用されているのを見たことがあり、それらは機能すると報告されています。
これがコードです。
そのため、少し待ってからニックネームで /whois を実行しますが、常に同じ応答が返されます: ユーザーは存在しません。
私の知る限り、TcpClient が接続を確立し、NetWorkStream インスタンスを使用してその接続の読み取りと書き込みを行うことができます。
他に何をする必要がありますか?
c# - TCPClientはキープアライブ接続を維持していないようですが、なぜですか?
TcpClientを使用して次のコードがあります
ただし、Console.WriteLine(rdr.ReadLine());が発生します。lineは、接続されていても、停止するよりも数秒間ステータスを出力し、ブレークポイントに到達しなくなります。
キープアライブ接続であり、「Twitter」キーワードが数秒ごとに数回連続して言及されるため、コンソールにステータスを書き込み続ける必要があります。
この問題を引き起こしている可能性のあるアイデアはありますか?