• ベストアンサー

Win32 APIでネットワークプログラミング

ネットワークプログラミングをwin32 apiを使って したいです。 (1)ネットワーク関連のAPIとしては、socket, wininet の他にあるのでしょうか? (2)wininetの中でsocketが呼ばれているイメージで あっていますでしょうか? (3)socketが一番低レベルなAPIでしょうか?(win32 apiの中で)

質問者が選んだベストアンサー

  • ベストアンサー
  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.2

「socket」という言葉で私が誤解していたかもしれません。 UNIXではsocket通信をする際、「socket」という関数名がでてきます。 winsockもsocket通信の一種です。 Windowsでsocket通信を行う場合、基本的にwinsock以外の手段はありません。 >wininetの中でもラップしたsocketを使用していると考えてよいでしょうか? そうです。何をもってAPIと定義するかにもよりますが wininetは少なくともwinsockより上位レイヤーです。 >「APIレベル(WinSock)ではWSASocketになります」とありますが、 >したの回答で50個あるとあるので、WSASocket1つではないと >思ってしまうのですが・・ 関数名としてのsocketがWinSockではWSASocketにあたります。 蛇足かもしれませんが socket通信プログラムを書く場合、socket関数だけでは通信プログラムは書けません。 UNIXではsendやrecv、listen関数がコード上にありますが WinSockではWSASendやWSARecvという関数名にあたるという意味です。(WSAListenはありません。) ところで関数名の先頭につくWSAはWinSock APIの意味です。

otaks
質問者

お礼

ご回答ありがとうございます。 お礼が遅くなり申し訳ございません。 あれからいくつかLinuxのネットワークプログラミングを する機会がありまして、書いてあることがなんとなく 理解できるようになりました。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.1

>(2)wininetの中でsocketが呼ばれているイメージであっていますでしょうか? そうです。 wininetはAPIではありません。ライブラリレベルのものです。 つまりWindowsネットワークプログラムに必須なものではありません。 >(3)socketが一番低レベルなAPIでしょうか?(win32 apiの中で) APIレベル(WinSock)ではWSASocketになります。socketは UNIX系のネットワークと同じコードがコンパイルできるように WSASocketをラップしているだけです。 >(1)ネットワーク関連のAPIとしては、socket, wininetの他にあるのでしょうか? ネットワーク関連のAPI(WinSock)の名前はWSAからはじまります。 WSAからはじまるAPIをMSDNでざっとみたところ 50個ほどあります。

otaks
質問者

補足

ご回答ありがとうございます。 分からないところがあるので質問します。 > >(2)wininetの中でsocketが呼ばれているイメージであっていますでしょうか? > そうです。 > wininetはAPIではありません。ライブラリレベルのものです。 > つまりWindowsネットワークプログラムに必須なものではありません。 > 「wininet win32」とGoogleで検索してみると、ヒットするのですが、 ここらへんに出てくるのは、win32 apiのことではないのでしょうか? したの回答でsocketはWSASocketをラップしたものであるとありますが、 wininetの中でもラップしたsocketを使用していると考えてよいでしょうか? > >(3)socketが一番低レベルなAPIでしょうか?(win32 apiの中で) > APIレベル(WinSock)ではWSASocketになります。socketは > UNIX系のネットワークと同じコードがコンパイルできるように > WSASocketをラップしているだけです。 「APIレベル(WinSock)ではWSASocketになります」とありますが、 したの回答で50個あるとあるので、WSASocket1つではないと 思ってしまうのですが・・ > > >(1)ネットワーク関連のAPIとしては、socket, wininetの他にあるのでしょうか? > ネットワーク関連のAPI(WinSock)の名前はWSAからはじまります。 > WSAからはじまるAPIをMSDNでざっとみたところ > 50個ほどあります。 なるほどこんなにたくさんあるのですね

すると、全ての回答が全文表示されます。

関連するQ&A