問題タブ [network-programming]
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.
network-programming - アプリケーションのプロトコルをリバース エンジニアリングするにはどうすればよいですか?
あまり普及していないアプリ(インスタントメッセンジャー)を使っています。使用するプロトコルを見つけようとしています。TCP/IP を使用していることはわかっていますが、サーバーに送信し、サーバーから受信しているすべてのコマンドを調べたいと考えています。
いくつかのスニファーを試しましたが、彼らはこのアプリケーションを名前で認識できず、さらに、関連のない 16 進コードがいくつか得られました。
アプリケーションの仕様を見つける方法はありますか?
(注:私はそれをグーグルで検索しましたが、何も見つかりませんでした。また、著者によるドキュメントもありません。)
c++ - IP_HDRINCL に問題がありますか?
生の IP パケットの実装については、既にこの質問をしました。しかし、私は何の解決策も得られませんでした。
私のコード:
エラー:
WSAGetLastError() は 10022 を返します。
説明:
setsockopt (Wsapiref_94aa.asp) 関数に無効な引数 (無効なレベルを指定した引数など) が指定されました。場合によっては、ソケットの現在の状態を参照することもあります。たとえば、リッスンしていないソケットで accept (Wsapiref_13aq.asp) を呼び出します。
解説:
しかし、正しいオプション値とサイズを設定しました。
私は何を間違っていますか?Windows XP (SP3) を使用しています。setsocketopt で、そのプログラムに対して IP_OPTIONS を試してみましたが、正常に動作し、IP パケットも送信します。しかし、すべての IP パケットのエーテルでは、宛先から ICMP パケットが生成されます。
どうすればこれを修正できますか?
ソースコード:
// raw tcp パケット クラフター
network-programming - マルチプレイヤー/オンライン ゲーム プログラミングで最も見られる初心者の間違いは?
あなたが見た初心者の間違いとその治療法は何ですか?
何度も発生するのは、クライアントがサーバーに対してまったくチェックされていないことです。
例えば:
- ユーザーは、フラッシュ ゲームのソースを逆コンパイルするか、ネットワーク トラフィックをリッスンして、ハイ スコア データの行き先を確認し、ゲームをプレイしていなくても偽のハイ スコアをそこに送信します。
- ユーザーはトレーナーを使用し、現在のレベルには表示されない可能性があるアイテムを取得します。これは「クライアント X がアイテム Y を取得しました」のようにサーバーに送信され、サーバーはそれを受け入れるだけです。
もちろん、簡単な解決策は、サーバーへの API としてのみゲーム クライアントを処理することです。その後、ユーザーはトレーナーやその他のメモリ操作を好きなだけ使用できますが、サーバーはそれができないと言います。サーバーは、ゲームのルールを基にクエリを実行できるデータベースと考えてください。
例えば
- クライアント:ゲーム開始
- クライアント: サーバーに接続します
- クライアント: サーバーから利用可能な金額を照会します
- ユーザー:お金を無限に設定するトレーナーを有効にします
- クライアント: server.buyItem('非常に高価')
- サーバー: ゲームの状態を確認します (ユーザーは今すぐアイテムを購入できます)。player[0].money をチェック -> ボーナスなし。
- クライアント: server.buyItem('can get this')
- サーバー: ゲームの状態を確認します (ユーザーは今すぐアイテムを購入できます)。player[0].money をチェックします。player[0].items.add('can get this') これにより、player[0].money からのコストが削減されます。次に、クライアントに通知します send(player[0], 'items', 'can get this'); send(プレーヤー[0]、「お金」、プレーヤー[0].お金)。
もう 1 つの方法は、クライアントの動きを記録し、それをサーバーが再生するハイスコア サーバーに送信することです。もちろん、これはその記録が非常に大きいことにつながる可能性があります。
java - Android (Java) ネットワーク プログラミング リソース
TCP 接続を介してデータを転送する Android 用のアプリケーションを開発したいと考えています。
クライアントサーバー接続の例が見つかる良い例や本を知っている人はいますか?
私は Java と Android にまったく慣れていないので、何か提案があればとても感謝しています。
c - C で非ループバック ネットワークの IP アドレスを取得するには?
2 つのホスト間の通信のために、ホストの IP アドレスを他のサイトに送信する必要があります。問題は、IP アドレスを要求すると、ネットワーク (イーサネット) IP アドレスではなく、ローカル ループバック IP アドレス (127.xxx) が返される可能性があることです。
次のコードを使用します。
これを解決する唯一の方法は、/etc/hosts のホスト名がローカル ループバック (Ubuntu などのデフォルト) ではなく、実際のネットワーク アドレスの背後にあることを確認することです。
/etc/hosts の内容に頼らずにこれを解決する方法はありますか?
編集: getaddrinfo を使用するように上記のコードを変更しましたが、実際の IP アドレスの代わりにループバック デバイスの番号 (127.0,0,1) が返されます。
(以前は 3 つの addrinfo のリストを 3 つの SOCK_STREAM、SOCK_DGRAM、SOCK_RAW で取得していましたが、ヒントによってそれが妨げられています)
だから私の質問はまだ残っています...
visual-c++ - ネットワーク監視用の Visual C++ API
Visual C++ (Windows) でネットワーク監視アプリケーションを作成する必要があります。どのライブラリまたは API を使用することをお勧めしますか?
network-programming - プログラムが他のプログラムや他のコンピュータと通信するとき、それは何と呼ばれますか
真の初心者として、さらなる知識への障壁はグーグルするものを知らないことであることに気付くことがよくあります。
ポンや数独ソルバーのような簡単なものを作りました。最近は、タブロックのようなものに取り組んだり、マルチプレイヤーポンを作ったり、少なくともそれが何を含むのかを考え始めたいと思っています。
それで、プログラムが他のプログラムにこれまたはそれをさせるとき、またはプログラムがこの広大なインターネットのどこか別のコンピュータ上のそれ自体のコピーと通信するとき、それは正確に何と呼ばれますか。
z。
c++ - オープンソースとクロスプラットフォームのマルチプレイヤー/ネットワークライブラリ?
raknetは機能の観点からはかなり興味深く、本当に魅力的ですが、そのライセンス条項は、商業的に利用される可能性のあるGPLのプロジェクトにとっては厄介であるように思われます。これは、クリエイティブコモンズライセンスの条項によって明示的に禁止されています。
opentnlもありますが、最近はそれほど積極的に保守されていないようです。実際、最新の安定したtarballのダウンロードは、gcc> = 3.0(?)をサポートしていないため、コンパイル中に失敗します。
もちろん、まだenetもありますが、これは、raknet/opentnlでサポートされている抽象的な機能と実際に比較することはできません。
それで、ACE、Boost、Pocoなどの重要な依存関係とは別に、かなりコンパクトで手入れの行き届いたUDPネットワークライブラリを埋め込むための実行可能な代替手段はありますか?
ありがとう