問題タブ [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 投票する
1 に答える
6054 参照

c# - TcpListener: クライアントの切断を検出するにはどうすればよいですか?

クライアントが TcpListener から切断されたことを検出するにはどうすればよいですか?

私のクライアントはそれぞれ別のスレッドで処理されます。

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

c# - 閉じたNetworkStreamを再度開きますか?

おはようございます、

アドバイスが必要です。TcpClientからストリーミングしているnetworkStreamを使用していますが、すべて正常に機能していましたが、ストリームを閉じる必要がある他の場所でいくつかの機能が必要でした。接続を閉じた後、接続を再度開く方法が見つからないようです。誰かが私をここで正しい方向に向けることができますか?

これが私が基づいているコードの例です:(明らかにこれは正確にそれがどのように機能するかではありませんが、私はそれを可能な限り単純化しました:-))

よろしくお願いします。

編集-変数のスペル名を変更しました!おっと!

編集-申し訳ありませんが、問題が他の場所から発生していることに気づきました。このコードが正しいことを確認していただきありがとうございます:-)別のソースから問題を見つけるのに役立ちました

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

.net - telnetサーバーに送信するメッセージの例

私たちのオフィスにはUNIXボックスがあります。通常、このボックスにtelnetで接続し、コマンドを開始します。通常、これはWindowsクライアントからtelnet.exeを使用してコマンドプロンプトから実行します。UNIXボックスのIPを入力するだけで、ログイン資格情報を入力する画面が表示されます。ログインプロンプトの前に、独自のメッセージを示すデフォルトのメッセージがあります。

TcpClientクラスを使用して同じことを試みました。私はmsdnから直接コードを借りました。メッセージパラメータ(そのstring.Empty)に値を渡しません。ただし、私が得るのと同じ応答は得られません。独自のメッセージテキストを期待していましたが、代わりに$$を取得しましたか??それが何であるかわからない。

これにより、telnet.exe(コマンドプロンプトツール)が独自のメッセージを取得するための初期通信を行っていると結論付けることができます。それが何であるかを知り、tcpclientクラスを介して同様の何かをシミュレートしたいと思います。私は何をすべきか?

そしてメッセージに関して:この文脈で「メッセージ」と言うとき、私たちは人間が読めるメッセージまたはRFC854(telnetプロトコル仕様)で言及されたメッセージを意味しますか?

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

c# - 閉じた接続への書き込み時に TcpClient.Write が例外をスローしないのはなぜですか (初回)?

TcpClient と SslStream を使用してソケットにデータを書き込む簡単なプログラムがあります。

テストするために、プログラムを一晩実行して、プログラムが接続を開き、長時間何も書き込まないようにしたため、ファイアウォールまたはリモートサーバーが接続を閉じました。今朝、私は TCPView を見て、接続が閉じられていることを確認し、プログラムにソケットに書き込むように指示しました。

書き込み時に例外はスローされませんでした。ただし、次の書き込みでは、予想どおりこの例外がスローされました。「System.IO.IOException: トランスポート接続にデータを書き込むことができません: 既存の接続がリモート ホストによって強制的に閉じられました」</p>

実際に接続されていない場合でも TcpClient.Connected が True を返す理由はわかりますが、(TCPView で確認されたように) 実際に閉じられた接続で Write が例外をスローしないのはなぜですか?

0 投票する
3 に答える
3066 参照

c# - C#を使用してtcpclient接続でオブジェクトまたはデータセットを送信する方法は?

オブジェクトまたはデータ セットを 1 台のコンピューターと別のコンピューターから転送したい ストリームライターとリーダーを使用して文字列を送信しています このクライアント接続を介してオブジェクトを送信したいのですが、この接続を使用してこのオブジェクトまたはデータセットを送信するにはどうすればよいですか?

あなたが提案するデータセットを今すぐ送信したいと考えてください

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

c# - TCPクライアント双方向通信ヘルプ

クライアントとサーバーを使用してC#で2つのアプリケーションまたはwinforms間で通信したい、サーバーがクライアントからの着信メッセージを継続的にリッスンしたい、メッセージが受信されたときに情報を送信したクライアントに返信したい処理は、コード例で誰でも助けることができます

0 投票する
9 に答える
67130 参照

c# - TcpClient接続が閉じているかどうかを確認するには?

私は TcpClient をいじっていて、接続が切断されたときに Connected プロパティを false にする方法を見つけようとしています。

やってみた

ただし、TcpClient が切断されている場合は表示されません。TcpClient を使用してこれを行うにはどうすればよいでしょうか。

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

tcpclient - TCP クライアントとしての Wavecom GSM モデム

Wavecom Fastrack モデムを使用して TCP 通信を試みています。私が達成したいのは、指定された TCP サーバー ポートにモデムを接続して、サーバーとの間でデータを転送できるようにすることです。ユーザーズガイドよりもいくつかの情報が見つかりました。66 ページにある情報に基づいて、モデムが接続されているシリアル ポートを開き、次の AT コマンドを書き込むアプリケーションを作成しました。

これはまさにユーザーズガイドに書かれていることです。最後のコマンドがモデムに送信された後、デバイスはデータ交換モードに切り替わり、それ以降、アプリケーションによって開かれたシリアル ポートに書き込まれたすべての内容がサーバーによって受信され、サーバーが送信したすべての内容が入力バッファーに表示されます。そのポートの。

問題は、サーバーとモデムの間で安定した双方向通信を維持できなかったことです。シリアル ポートにデータを書き込むと (ほんの数バイト)、データがサーバー側に表示されるまでにかなりの時間がかかり、多くの場合、データはサーバーにまったく到達しません。

一度に約 100 バイトをシリアル ポートに書き込むいくつかのテストを実行しました。サーバー アプリケーションが受信したデータをログに記録すると、最初のデータ (8 ~ 35 バイト) が 1 ~ 2 秒後に受信されることに気付きました。残りのデータは 2 ~ 5 秒で (全体として、または前述のサイズの断片として) 表示されるか、まったく表示されません。

その行動の理由をどこで探すべきかわかりません。間違った AT コマンドを使用してモデムを TCP クライアント モードに切り替えましたか? 通信が遅くて不安定だなんて信じられない。

アドバイスをいただければ幸いです。前もって感謝します。

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

c# - TCPListener (またはその他の方法) を使用してネットワーク上のデバイスにバインドする方法

ネットワーク アドレスが 192.168.xxx.xxx ポート xxxx のデバイスがあります。これは私のネットワークで有効なアドレスです。サーバーへの接続を確立するために TCPListener を使用しようとしましたが、「エラー..... System.Net.Sockets.SocketException: The requested address is not valid in its context at System.Net.Sockets.Socket. System.Net.Sockets.Socket.Bind(EndPoint localEP) の DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress) System.Net.Sockets.TcpListener.Start(Int32 backlog) の System.Net.Sockets.TcpListener.Start() の WinMarkTest .Server.Main() in C:.....\Server.cs:line 49"

myListener.Start() メソッドを使用する場合。

「ローカルアドレス」とは、TCPListener を使用するサーバーのアドレスを意味しますか?

他にどうすればこの接続を確立できますか。デバイスは内部ネットワーク (ファイアウォールの側) 内にあります。

0 投票する
3 に答える
3323 参照

c# - tcpclientリスニングの実装

tcpクライアントリスニング機能を実装しようとしています。これは、サーバーとの接続が確立された後、このtcpクライアントがそこに座って新しいデータが到着するのを待つことを意味します。これが私のコードですが、実行すると、ネットワークストリームから何も読み取れなかったと文句を言います。しかし、サーバーはまだデータの送信を開始していません。不平はtcpクライアントのタイムアウトが原因だと思います。

これは正しい方法ですか?

ありがとう