1

道に迷いました。私は何日もウェブを検索してきましたが、答えが見つかりません。私は多かれ少なかれ初心者のソケットプログラマーですが、それは理解しています。

私は次のことをしたい:

  1. カスタム パケットを作成する (最初から、すべての値を設定する)
  2. それを送る

Java、C++、または C# のいずれか。これには使いやすいライブラリがありますか、それともそれを可能にするコアクラスがありますか? すでに Java ライブラリ jnetpcap を試しましたが、例を実行して Eclipse のインストール ガイドに従っている場合でも、エラーが発生するだけでした。

どんな助けでも大歓迎です!

注:Windows用です

4

5 に答える 5

4

Java: ソケット

http://download.oracle.com/javase/1.4.2/docs/api/java/net/Socket.html

Java: raw ソケット

http://www.savarese.com/software/rocksaw/

C#: TCP クライアント

http://msdn.microsoft.com/en-us/library/system.net.sockets.tcpclient%28v=vs.71%29.aspx

C#:生のソケット

http://msdn.microsoft.com/en-us/library/system.net.sockets.socket.aspx

4 つすべての例を調べるのはかなり簡単です。

于 2011-07-27T07:24:23.393 に答える
4

jNetPcap は WinPcap に基づく API です。WinPcap をインストールするだけで動作します :)

別の方法として、 Jpcap (Java 用) やSharpPcap (C# 用)などの他のライブラリを使用することもできます。

于 2011-07-27T07:29:11.157 に答える
3

Windowsでwinsockを使用し、Linuxでソケットbsdを使用して、c ++でソケットを使用しました。

これは私が見つけた最高のガイドでしたhttp://beej.us/guide/bgnet/output/html/multipage/index.html

編集: Beej のガイドにはすべてが含まれています: 背景情報、簡単な例、データ パッキングなどの高度なトピック、ユーモア

于 2011-07-27T07:22:21.330 に答える
0

Javaでやればかなり楽。

初心者向け。http://download.oracle.com/javase/tutorial/networking/datagrams/clientServer.html

于 2011-07-27T07:30:26.887 に答える
0

ティム、

すべてのパケットには、固定長ヘッダーとそれに続く本文、およびオプションでトレーラーが必要です。固定ヘッド長ヘッダーには、パケット長 (本体の長さ + トレーラーの長さ)、タイムスタンプ、一意のパケット ID (大きなパケットを複数の小さなパケットに分割するために使用) などの詳細が含まれている必要があります。

受信側は常に固定長のヘッダーを最初に読み取り、パケット長を決定して残りのパケットを読み取ります。

名前などのすべての可変長要素の前にサイズを追加する必要があります。

簡単なパケット構造の例:

ヘッダー サイズ - 1 バイト

名前、ID、性別などの送信詳細

ヘッダ

[8] - 1 バイト //サイズ (名前の長さ + 名前 + ID + 性別)

[5] - 1 バイト //名前の長さ

[ジーバ] - Nバイト

[1000] - 1 バイト ID

[0] - 1 バイトの性別 (0 - 男性、1 - 女性)

注: エンディアンに注意する必要があります。明確にするためにさらに質問する

于 2011-07-27T07:50:55.830 に答える