問題タブ [winsock]
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# - C# で WinAPI から WSAAsyncSelect を使用するには?
.NET の BeginRead、EndRead にうんざりしています。Delphi/C++ で使用していた方法で WSAAsyncSelect を使用したいです。
そのイベントをC#で設定することは可能ですか?
c# - C#でメッセージを取得するにはどうすればよいですか?
特定のメソッドで特定のメッセージを取得するにはどうすればよいですか?
いくつかの例を見たことがありますが、人々は「ref」を使用していますが、理解できません。
たとえば、デルファイでは、関数 (メソッド) をメイン フォーム クラスで宣言する必要があり、宣言の隣にメッセージを配置する必要があります。
アプリケーションで WSAAsyncSelect を使用できるように、C# でこれが必要です。
私が何を意味するかを理解するために、バウンティ550の評判で>私の他の質問<を確認してください
c# - IntPtr / IntをSocketに変換する方法は?
message.WParamをSocketに変換したい。
IntrPtr(sock)をSocketに変換して、Receive()を呼び出せるようにするにはどうすればよいですか?
windows - Winsockを使用した生のイーサネットフレーム
LinuxからWindowsに通信ライブラリを移植しています。私は自分のアプローチがほとんどの場合何であるかを知っています。ライブラリは、すべての通信にすべての生のイーサネットレベルフレームを使用します。
私が移植しているライブラリーは、PF_PACKETファミリーとstructsockaddr_llを利用しています。MSDN winsockサイトを閲覧した後、同等のファミリ/構造体が見つかりませんでした。私のアプローチはここにあるべきですか?
私にはいくつかのアイデアがありますが、それらが良いアイデアであるかどうかはわかりませんが、不特定の場合はPF_UNSPECを使用できます。PF_PACKETが表す数値を渡すことができます(これはunsigned shortです)。Windowsで独自のsockadddr_ll構造体を作成することもできます。
これらのアイデアはどれも私には良いとは思えません。実際には機能しない可能性が高いハックのように見えます。
何か提案があれば、よろしくお願いします。
winsock - Winsock に raw イーサネットを実装する
カスタム パケットを作成する必要があるプロジェクトを行っています。つまり、各パケット ヘッダーを制御する必要があります。ソケットを使用してこれを実行しようとしています。基本的に、私がする必要があるのはこれです:
ethernet_type は、0xAAAA のように、カスタマイズされた非標準のものです。htons() を使用しています。また、winPcap を使用しないことが私にとって非常に好ましいです。
現在、エラー 10043 が発生しています。プロトコルはサポートされていません。
エラー メッセージは、システムにプロトコルを設定できることを示しているようですが、その方法がわかりません。
それは言います:
プロトコルがサポートされていません。要求されたプロトコルがシステムに構成されていないか、その実装が存在しません。たとえば、ソケット呼び出しは SOCK_DGRAM ソケットを要求しますが、ストリーム プロトコルを指定します。
ここにはいくつかの異なる問題があるので、誰かが少しでも意見を持っていれば、本当に感謝しています.
c# - C#: TCP サーバーに関する簡単な質問
接続をリッスンするために使用するソケットでパケットを送信しようとしましたが、もちろん失敗しました。
接続を送信する必要がある別のソケットがあったことをパスカルでコーディングした日を覚えています。それは「受け入れ」の後に受信されました。
これが正しければ、これは私の問題です。
TCP サーバー (C#) で WSAAsyncSelect() を使用しています。
接続時にクライアントにパケットを送信する必要があります。
そのクライアントにパケットを送信する必要があるソケットを取得するにはどうすればよいですか?
Accept() を呼び出さなかったのは、C# でどのように行うべきかがわからず、例を探していたからですが、古い WSAAsyncSelect() を使用したものはありませんでした。
それがどのように行われるべきかを示す例を提供してください。
前もって感謝します!
winforms - Form_QueryUnload のコンテキスト内で vb6 で winsock コントロールが正しく機能しないのはなぜですか?
私の目標は、ユーザーがログオフするか PC をシャットダウンするときに、このプログラムにログアウト コマンドを送信させることです。
プログラムは、Winsock オブジェクトを使用して tcp ソケット経由でサーバー アプリケーションに接続されます。通話singleSock.SendData "quit" & vbCrLf
は単にログアウトする方法です。Wireshark でデータのキャプチャを開始しようとしていますが、何か根本的な間違いをしようとしているのか知りたいです。
奇妙なことに、Cancel を True に設定し、実行中のタイマーがログアウト コマンドを実行できるようにしてから、別のアンロードを呼び出すと動作しますが、この構成 (別のコード) をテストすると、ユーザーが最初にログアウトできなくなります。時間。彼らはログアウトを開始する必要がありますが、それは何もしません。その後、彼らは再びログアウトし、その時点で私のプログラムはなくなりました。また、奇妙なことに、Vista では、プログラムがログアウトを妨げているという画面が短時間表示された後、ログアウトが行われます。私の展開のほとんどはXPで行われており、2回のログアウトの問題があります。
winsock - closesocket は WSARecvFrom 完了ルーチンをトリガーします
closesocket を呼び出すと、WSARecvFrom の完了ルーチン (その時点で着信データを待機する) が dwError=0 および cbTransferred=garbage でトリガーされていることに気付きましたが、そのソケットに保留中の着信データはありません。
ソケットを閉じたときに呼び出されないようにする方法はありますか? closesocket の前に shutdown を呼び出そうとしましたが、役に立ちませんでした。
c++ - C++ - WinSock フックを迂回する
私がやろうとしているのは、Detours ライブラリを使用して、アプリケーションの WinSock2 send() および recv() 関数 (パケット ロガー) にフックすることです。
send() 関数では機能しますが、recv() 関数では機能しません。
これが私の関連コードです:
何か案は?
編集:そこで、recvfrom() と WSARecvEx() もフックしましたが、発信パケットはまだログに記録されません! 正確なコードでコードを更新しました。
c++ - Windowsのソケット番号からのPID?
さまざまなアプリケーションによってネットワークとの間で送受信されたバイト数をカウントする必要があります。最初はLSPの使用を考えましたが、LSPをまったく使用しないアプリケーション(SMBなど)がたくさんあります。これが私が小さなスニファーを書いた理由です。このアプリケーションはIPレベルで動作し、recvfromを使用してデータを収集します。
だから私はリモートホスト、ローカル、リモートポートのアドレスを持っています。これはかなりクールですが、ローカルソケット所有者のPIDも必要です。それで、そのようなPIDを取得する簡単な方法はありますか?回避策は、GetTcpTable、GetUdpTable、またはAllocateAndGetUdpExTableFromStackとAllocateAndGetTcpExTableFromStack(2k、XP、XP SP2、Vistaの間でこれらの関数に多くの違いがあります)を使用し、結果テーブルをルックアップすることですが、エレガントではなく非効率的です...
では、「GetPIDOfSocket」関数のようなものはありますか?C ++、Delphiなどのさまざまな言語を使用できるため、解像度はWinAPI(.netなし)のみである必要があります。