問題タブ [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.

0 投票する
2 に答える
1074 参照

c# - SendBufferSize より大きいファイルを TcpClient 経由で送信できますか?

.NET で Tcp 接続を試していますが、TcpClient オブジェクトの SendBufferSize よりも大きなデータを送信したいと考えています。ネットワークストリームに書き込むだけでデータを送信することは可能ですか、それとも写真を切り取って送信し、もう一方の端で再度作成する必要がありますか?

0 投票する
5 に答える
4001 参照

c# - SendBufferSize より大きいデータを送信した場合、データはどのように受信されますか?

SendBufferSize よりも大きなデータを送信する方法について質問したところ、いくつかの部分に分けて送信されるという回答がありました。

2 番目の質問は、このデータをどのように受け取るかということです。ネットワークストリームで完結するのか、それとも分割してしまうのか。

最初の質問: SendBufferSize よりも大きなファイルを TcpClient 経由で送信できますか?

0 投票する
4 に答える
1759 参照

c# - TcpClientが接続しません

私はC#でTcpクライアントを開発していて、TcpClientクラスを使用しています。サーバーに接続できません。

Connectアプリケーションをデバッグすると、への呼び出しが成功したことがわかりますが、これを行った後netstat、サーバーとクライアントの両方の接続のステータスを確認します。その結果、サーバーは接続ESTABLISHEDされていますが、クライアントではnetstatの結果にサーバーへの接続が表示されません。

インスタンスを読み取るTcpClientと、プロパティConnectedがtrueであることがわかりますので、問題はないはずですが、インスタンスから読み取ろうとするNetworkStreamとハングします。

ハングするとは、サーバーがデータを送信しているのに、readlineがデータをまったく取得していないことを意味します。

何が問題であり、いくつかの回避策があるか知っていますか?

ありがとう

0 投票する
2 に答える
30231 参照

c# - C#で接続を維持するためのサーバーとのTcpClient通信?

私は正常に動作するこのTcpClientコードを持っています。Linuxシステム上のperlサーバーに接続し、サーバーが送信したものをすべて受信します。うまく動作します。

ただし、特定の条件では、いくつかの問題が発生しています。

  1. 私の仕事用接続はアイドル時間の後に接続を切断することが多いので、サーバーに実装したので、PINGを受信するとPONGで応答します。UDPを使用してPINGをサーバーに送信でき、tcpでPONGで応答しますが、60秒ごとにPINGを送信するように、tcpクライアントに組み込まれた方法を使用することをお勧めします。UDPソリューションが受け入れられるとしても、タイムアウトはstring varReadData = Encoding.ASCII.GetString(data, 0, bytes).Trim();発生しないため、PONGが到着しない場合、クライアントはとにかくそれに気づきません。それはただ待ち続けます...それは私を連れて来ます..
  2. 私の他の問題は、ある時点でstring varReadData = Encoding.ASCII.GetString(data, 0, bytes).Trim();これが常にデータを待機していることです。サーバーがクラッシュしたり、クライアントを切断したりしても、気づきません。サーバーに何らかの機能を持たせtimeoutたり、接続がアクティブかどうかを確認したりしたいのですが。アクティブでない場合は、再接続を試みる必要があります。

このTcpClientを修正する最も簡単な方法は何でしょうか?サーバーが接続を切断したり、ネットが切断されたりした場合にクライアントがそれに気づき、接続を再確立することを確認するために、双方向通信を実装するにはどうすればよいですか?

0 投票する
1 に答える
151 参照

silverlight-3.0 - Silverlight 3 でのネットワーク エラー処理

Tcp接続を使用するsilverlight3アプリケーションを書いています。私たちのプロジェクトは、クライアント サーバー アーキテクチャを使用します。クライアント部分は Silverlight アプリケーションで、サーバー部分は winform アプリケーションです。
接続には TcpClient と TcpListner を使用します。
次のエラーを処理できます:
1. ユーザーのシャットダウン
2. ユーザーのネットワーク ケーブルの取り外し
3. サーバーのシャットダウン

ただし、サーバーのネットワーク ケーブルの取り外しをユーザー レベルで処理することはできません (サーバーの場合は、NetworkChange.NetworkAvailabilityChanged イベントで処理します)。
どうすればそれができますか?
また、アプリケーションが正常に機能するために処理しなければならないネットワークは他にありますか?

ありがとう。

0 投票する
1 に答える
5120 参照

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ここにぶつかる。

0 投票する
1 に答える
1564 参照

.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 )で使用しました。

誰かが私を助けることができればありがとう。

0 投票する
1 に答える
711 参照

vb.net - TCP逆接続の支援が必要

作業中のいくつかのプロジェクト用に認証サーバーを作成しています。この認証サーバーは、認証を試みるユーザーにデータを送受信することで機能します。ユーザーはサーバーにデータを正常に送信できますが、返送する場合はポート転送が必要です。逆接続を使用してポート転送を必要としない方法を読みましたが、それを機能させる方法がわかりません。チュートリアルを見つけて実装しようとしましたが、ストリームを読み取るために接続しようとすると、接続が拒否されたと表示されます。

何か案は?

0 投票する
1 に答える
5911 参照

c# - C# を使用して IRC サーバーに接続する

ミニマルな IRC ボットを試してみましたが、接続できません。

私は TcpClient オブジェクトを介してこれを行っています。これは、他のそのようなプロジェクトで使用されているのを見たことがあり、それらは機能すると報告されています。

これがコードです。

そのため、少し待ってからニックネームで /whois を実行しますが、常に同じ応答が返されます: ユーザーは存在しません。

私の知る限り、TcpClient が接続を確立し、NetWorkStream インスタンスを使用してその接続の読み取りと書き込みを行うことができます。

他に何をする必要がありますか?

0 投票する
1 に答える
2406 参照

c# - TCPClientはキープアライブ接続を維持していないようですが、なぜですか?

TcpClientを使用して次のコードがあります

ただし、Console.WriteLine(rdr.ReadLine());が発生します。lineは、接続されていても、停止するよりも数秒間ステータスを出力し、ブレークポイントに到達しなくなります。

キープアライブ接続であり、「Twitter」キーワードが数秒ごとに数回連続して言及されるため、コンソールにステータスを書き込み続ける必要があります。

この問題を引き起こしている可能性のあるアイデアはありますか?