2

新しい人は、win32 でのソケット プログラミングについて学びたいと思っています。私はMFCについて少し知っていますが、プログラマーから内部の詳細を隠すだけなので、それは始めるのに良いポイントではありません.

4

8 に答える 8

2

http://beej.us/guide/bgnet/

Beejのガイドはかなり一般的な出発点です。私がこのようなものを始めてから数年が経ちましたが、iirc、ガイドはバークレーソケットを使用し、必要に応じてwinsockとの違いを指摘しています。

于 2009-02-17T18:18:28.223 に答える
2

winsock 関数 (Winsock2.h) を使用します。

于 2009-02-17T18:13:27.363 に答える
1

私は見ることをお勧めします

Winsock入門(Windows)

そしてまた

Winsock2レイヤードサービスプロバイダーの作成の謎を解き明かす

于 2009-02-20T17:13:51.570 に答える
1

私は心から ChrisW に同意し、MFC を引き継いでくれたことを心から感謝します。

多くの優れた WinSock 情報については、MSDN Winsock リファレンスを参照してください。

また、学習するには大きすぎるかもしれませんが、非常に優れたソケット サーバー クラスと思われるものがあります。役に立つものがあれば教えてください。

于 2009-02-17T21:39:21.890 に答える
1

MFC が一部の詳細を不明瞭にするのは正しいことですが、なぜそれをラップすることにしたのかわかりません。

WinSock プログラミングに関する優れた書籍やチュートリアルが多数あります。これが1つです。

http://www.codeproject.com/KB/IP/winsockintro01.aspx

于 2009-02-17T18:14:15.317 に答える
1

答えは、win32 ソケット API を使用することです。

この API に関する情報は MSDN にあります。

これ (いわゆる「Winsock」API) は Unix/Posix API (に基づく) に似ているため、MSDN だけでなく、Unix でのソケットの使用に関する多くの文献 (本) も関連しています。

おそらく、グーグルでコードサンプルを見つけることができます。

たとえば、「IP アドレス」や「ポート」とは何かなど、ネットワークについて少し知っておく必要があります。

プロトコル (UDP または TCP) を選択する必要があります。

Win32 の違いの 1 つは、ソケットが接続されている場合に ReadFile と WriteFile を使用できることです。つまり、ReadFile と WriteFile に関連付けられているオーバーラップ I/O のオプションを使用できます。

于 2009-02-17T18:14:31.573 に答える
0

2 つのオプション:

  1. シリアル ポートと通信するファイル ストリーム ベースのコードを記述します。
  2. シリアル ポート通信に C++ ライブラリを使用する (これについては google)

最初のオプションは、「ボイラープレート」コードを記述することを意味するため、そのためにサードパーティのライブラリを使用することをお勧めします。

シリアル ポート プログラミングで最も一般的な「起動時のトラブル」は、デバイスとの通信リンクを確立することです。ポート名、ボーレート、パリティなどを正しく設定する必要があります (通常はデバイスの製造元によって指定されます)。

次に、デバイスの「コマンド セット」もあります。たとえば、「?」を送信するとします。デバイスに送信すると、メーカー名などのデバイス情報が返されます (「?」コマンドは例であり、標準ではありません。コマンド セットはデバイスによって異なります)。

すべてのシリアル通信は次のように機能します。 - シリアル ポートにコマンドを書き込みます - デバイスからの応答のために読み取りバッファをポーリングします

私の知る限り、C++ または MFC には組み込みのシリアル ポート通信クラスはありませんが、このためのサード パーティ ライブラリが多数あります。

于 2009-02-17T18:13:41.433 に答える