尾崎さん,こんにちわ。
プログラミングが具体化してきたのでしょうか, だんだん,難しい領域に入ってきてますね。
>(1)ソケットプログラミングにおいて、UDPのチェックサムの設定を >オフにできるとの説明をみたのですが、具体的にはsetsockopt()で >するのでしょうか?
いやー,これはわかりません。 ゴメンナサイ。
>(2)あと、UDPで一度に送信指定できる最大バイト数(オクテット数)は >IPヘッダ16ビット65536バイト-IPヘッダ20バイト=65516バイト >でいいのでしょうか?
UDPヘッダの分も考えなくちゃいけないと思います。 つまり, UDPメッセージのユーザデータ長 =IPメッセージ長-IPヘッダ長-UDPヘッダ長 =65,535-20-8 ということです。 それから,IPヘッダにオプションフィールドが付加されると その分IPヘッダ長が長くなりますから,それも考えておいた方がいいでしょう。
>(3)また、TCPでは送信したデータがキューに残っているのですが、 >Javaでいうflushに相当する関数はCのソケットAPIにはないのでしょうか?
えーと... 何かあるはずですね~,あったはずだなぁ...っていう程度しか思い出せません。 これも,ゴメンナサイ。 socketのオプションか,そうじゃなかったら,sendとかrecvとかいう関数のように, 独立した関数でコントロールするのだったかもしれません。 TCP_NODELAYとか,fcntlとか,ioctlとかいったキーワードで, Google辺りを検索してみると何か出てくるかもしれません。 こんなページも参考になるかも。 http://www.faqs.org/faqs/unix-faq/socket/
でも,この領域になると,ドキュメントを読むだけじゃなくて, ソースコードを読んでみたり,プログラムでいろいろ試したり することをお勧めします。
More information about text formats
ディープな質問ですね。私もついていけません。ゴメンナサイ
尾崎さん,こんにちわ。
プログラミングが具体化してきたのでしょうか,
だんだん,難しい領域に入ってきてますね。
>(1)ソケットプログラミングにおいて、UDPのチェックサムの設定を
>オフにできるとの説明をみたのですが、具体的にはsetsockopt()で
>するのでしょうか?
いやー,これはわかりません。
ゴメンナサイ。
>(2)あと、UDPで一度に送信指定できる最大バイト数(オクテット数)は
>IPヘッダ16ビット65536バイト-IPヘッダ20バイト=65516バイト
>でいいのでしょうか?
UDPヘッダの分も考えなくちゃいけないと思います。
つまり,
UDPメッセージのユーザデータ長
=IPメッセージ長-IPヘッダ長-UDPヘッダ長
=65,535-20-8
ということです。
それから,IPヘッダにオプションフィールドが付加されると
その分IPヘッダ長が長くなりますから,それも考えておいた方がいいでしょう。
>(3)また、TCPでは送信したデータがキューに残っているのですが、
>Javaでいうflushに相当する関数はCのソケットAPIにはないのでしょうか?
えーと...
何かあるはずですね~,あったはずだなぁ...っていう程度しか思い出せません。
これも,ゴメンナサイ。
socketのオプションか,そうじゃなかったら,sendとかrecvとかいう関数のように,
独立した関数でコントロールするのだったかもしれません。
TCP_NODELAYとか,fcntlとか,ioctlとかいったキーワードで,
Google辺りを検索してみると何か出てくるかもしれません。
こんなページも参考になるかも。
http://www.faqs.org/faqs/unix-faq/socket/
でも,この領域になると,ドキュメントを読むだけじゃなくて,
ソースコードを読んでみたり,プログラムでいろいろ試したり
することをお勧めします。