トップページ⇒tech
1001コメント360KB

ネットワークプログラミング相談室 Port24

■ このスレッドは過去ログ倉庫に格納されています
0001lmtp2009/07/07(火) 00:46:28
主にソケットに関しての質疑応答スレッドです。

Programming UNIX Socket FAQ (日本語訳)
 http://www.kt.rim.or.jp/~ksk/sock-faq/indexj.html
Winsock Programmer's FAQ (日本語訳)
 http://www.kt.rim.or.jp/~ksk/wskfaq-ja/

関連リンクは>>2-10辺り
足りなかったら適当に付け足してね

前スレ
ネットワークプログラミング相談室 Port23
http://pc12.2ch.net/test/read.cgi/tech/1230466044/
関連スレ
ネットワークプログラミング雑談
http://pc12.2ch.net/test/read.cgi/tech/1235800707/
Java ネットワークプログラミング 【教えて!】
http://pc11.2ch.net/test/read.cgi/tech/1086238859/
03673632009/08/17(月) 15:19:30
>>364
うぅ最後まで良く見てませんでした。
すみません。
0368デフォルトの名無しさん2009/08/17(月) 17:24:10
ここって、初心者が質問していいとこ?
0369デフォルトの名無しさん2009/08/17(月) 17:45:22
Cの初心者とかプログラミング自体の初心者とか質問の仕方の初心者とかはちょっとあれだけど
ネットワークの初心者ってだけならどうぞ
0370デフォルトの名無しさん2009/08/17(月) 23:26:23
TCP/IPレベルは本読んで恋で終了だけどな。
0371デフォルトの名無しさん2009/08/18(火) 00:16:25
>>366
つまりルータではじかれる設定ということですよね?
だったらUDPに限らずTCPでも同じだと思うのですが。
0372デフォルトの名無しさん2009/08/18(火) 00:27:07
>>371
TCPは状態を持っているので、中から外に出た奴への戻りが明確にわかかる

UDPの場合、状態を持っていないので、中から外へ出た奴の戻りがどれに
対応するか判定できない

実質的には、タイマー管理するかUPnP的にルータ/スイッチをコントロール
するしかない

安全側に倒そう思ったら「UDP を通すな」ってなことになる
0373デフォルトの名無しさん2009/08/18(火) 00:32:45
UDPの場合、ブロードキャスト使うプロトコルも多いから「ルータ越えできない」って
言ってるんじゃないの?
あと、UDPだと間にNATが入ってるとちょっと面倒。
0374デフォルトの名無しさん2009/08/18(火) 00:35:40
>>372
>TCPは状態を持っているので
これはルータがTCPの状態を持っているという意味ですか?
リピータならありえない話ではないですが、解釈がおかしくないですか?
そうでないとしたら意味が判らないし。(UDPでも状態を持てばいい)
0375デフォルトの名無しさん2009/08/18(火) 00:38:17
>>374
もうちょっと勉強してからくるか素直に質問したら?
0376デフォルトの名無しさん2009/08/18(火) 00:43:27
>>375
そう言ってお茶を濁そうとするのは勉強が足りてないってことですよね?
素直に>365で質問してるつもりですが。何か問題でも?
0377デフォルトの名無しさん2009/08/18(火) 00:44:52
>>373
> UDPの場合、ブロードキャスト使うプロトコルも多いから
ちゃんと設定できるルータならディレクティッドブロードキャストは
通すように設定可能

>>373
> これはルータがTCPの状態を持っている
あ、言い方が悪かった
ルータ/レイヤ3スイッチのフィルター機能がTCPの状態を監視してる

> (UDPでも状態を持てばいい)
わざと状態を持たないように設計されているのが UDP
0378デフォルトの名無しさん2009/08/18(火) 00:47:08
>>377
つまりTCPの場合はコネクションを監視することで通すかどうか決めてるわけですね。
UDPだとポートしか情報がないから何が起きてるか判らない、監視しようがないと。
0379デフォルトの名無しさん2009/08/18(火) 00:50:14
>>378
そだよ。
> UDPだとポートしか情報がないから何が起きてるか判らない、監視しようがないと。
監視しようとすると、適当に短いタイマーでここまでは通すか否かを判定するか
こっちから、これを出したからこのポート外から通してねってフィルター機能に
御願いするしかないわけだ
0380デフォルトの名無しさん2009/08/18(火) 00:52:59
>>379
だいぶすっきりしました。
ありがとうございました。
0381デフォルトの名無しさん2009/08/18(火) 01:01:11
>>377
わざわざユーザに設定させるわけにはいかんっていう話じゃなかったっけ?
0382デフォルトの名無しさん2009/08/18(火) 01:08:38
>>377
いや、元々ブロードキャストの話じゃないし…
AHつかえればディレクティッドブロードキャスト通すこともあるだろ?
運用的には………
ってな、意味で >>373 へのレス書いたつもり
誤解を受けたんだったら誤る
0383デフォルトの名無しさん2009/08/18(火) 01:12:41
都市伝説の一種
0384デフォルトの名無しさん2009/08/18(火) 01:18:49
なんかルータとFWとNATがごっちゃになってるが、>>365の本来の質問は家庭用NATルータの話だろ。

UDPもTCPも基本タイマーでセッション管理してるよ。TCPはステートがある分監視、制御に有用な情報が多いだけ。
TCPだって外からSYN(接続)が来ることに関しては、いわゆる「port空け」なきゃ通信できないし、
UDPもDNSの問合せみたいに内→外がトリガとなる1対1の通信ならば何の問題もなく使えるだろ。

問題となるのはUDPの1対多の通信で、これができるかどうかはルータのNATの実装に依存する。
Cone NAT、Restrict NAT、Symmetric NATでググれ。
0385デフォルトの名無しさん2009/08/18(火) 01:28:30
>>384 そうなのか? NAT のことは何も考えてなかったw
0386デフォルトの名無しさん2009/08/18(火) 02:18:36
単にNAT実装したPGのレベルに寄るけどね。
家庭で使う様なカスルータじゃTCP通すだけで十分で終わりって実装も多いだけ。
組み込みsoc程度じゃそんな程度。
0387デフォルトの名無しさん2009/08/18(火) 03:21:31
いやむしろ、>>365に対して誰かが言った
>UDPはルータ超えできない
という話がそもそも違う(言った奴か>>365が誤解してる)だけだろ。

UDPだろうとTCPだろうと、
(最初に)外からデータを送る分には、いわゆるポート空けをしないと出来ない。

けれど、最初に内から外に向かってリクエストを送り、(外のサーバーが)レスポンスを返す場合に
TCPならばルータがセッション管理しているから、問題なくレスポンスを(最初の)送信元に送れるけど
UDPでは、レスポンスがルータで止められて、クライアントに戻すことが出来ない。

という話が「UDPではルータ(NAT)を超えられない」という言い方にすり変えられてるんじゃないかね。
(多くのルータでは、時間管理等でUDP hole punchingが可能であるというのは置いといて)
0388デフォルトの名無しさん2009/08/18(火) 03:52:41
ルータにポート空けとか関係なくね?
(確かにFWとかNATとかを兼ねてることも多いけど)
0389デフォルトの名無しさん2009/08/18(火) 04:02:24
都市伝説の一種
0390デフォルトの名無しさん2009/08/18(火) 07:07:14
「ルータ」と聞いて、本来のルータを思い浮べる人と、
家庭用のいわゆるブロードバンド・ルータを思い浮べる人と、
レイヤ3スイッチを思い浮べる人では話が合わなくて当然。

本来の意味のルータがUDPを通さなかったら、それは大問題です。
0391デフォルトの名無しさん2009/08/18(火) 07:11:20
ARPはルータ超えできない
0392デフォルトの名無しさん2009/08/18(火) 07:26:45
>>391
そりは(UDPうんぬんじゃなくて)ブロードキャストを利用してるからだろ
0393デフォルトの名無しさん2009/08/18(火) 08:08:02
>>391
IPじゃないものをIPネットワークに流すわけにはいかんだろ
0394デフォルトの名無しさん2009/08/18(火) 08:10:01
インターネット越しのWakeupOnLanはどうやってるん?
0395デフォルトの名無しさん2009/08/18(火) 09:09:41
wakeup on lan のトリガーとなるデータはイーサネットフレーム内のどこにあっても
いいわけだから、ルータで UDP のフォワード先をブロードキャストアドレスにして
おけば問題ないと聞いたことがある
0396デフォルトの名無しさん2009/08/18(火) 09:32:31
>>387
>UDPでは、レスポンスがルータで止められて、クライアントに戻すことが出来ない。
>という話が

そんな話は無い。TCPだろうが、UDPだろうが、ポート番号無視しない限りレスポンスが返らないなんてことはない。
ntpとかdnsとかどうすんだよ。
0397デフォルトの名無しさん2009/08/18(火) 09:42:33
>>393
ICMP
0398デフォルトの名無しさん2009/08/18(火) 11:12:07
>>397
IPと同じ層だけど違うネットワークじゃん?
0399デフォルトの名無しさん2009/08/18(火) 11:16:33
ICMP is actually an integral part of IP
0400デフォルトの名無しさん2009/08/18(火) 11:20:19
http://www3.ocn.ne.jp/~tkatu/TCPHeader.html
TCPヘッダについてなんですが
Optionがつくかどうかというのはどこを見ればいいでしょうか?
どこからがデータなのかの判断が付かず困っております。
0401デフォルトの名無しさん2009/08/18(火) 11:31:47
>>400
Data Offset を見ろ。
0402デフォルトの名無しさん2009/08/18(火) 11:34:26
>>401
おっと。こんなところに。さんくす!
0403デフォルトの名無しさん2009/08/18(火) 11:36:42
>>400
最近TCPスタックを実装したばかりの俺が答えてやると、
ずばりData Offsetだ。
Optionがなければ5(5*4オクテット = 20)だ。
SYNなら大抵MSSとかが付いてきて+4で6以上になる。
5未満だったらアウツ。
0404デフォルトの名無しさん2009/08/18(火) 11:37:36
>>403
がんばれ。
0405デフォルトの名無しさん2009/08/18(火) 11:45:25
できました。さんくす。
0406デフォルトの名無しさん2009/08/18(火) 19:49:36
Winsock2でサーバアプリケーションを作っているんですが
すでに使われているポートに対してbindしても関数は成功してしまいます。
(その後の通信には失敗する)
すでに別のアプリケーションがポートを使っている場合にエラー表示させたいのですがどうすればいいのでしょうか?

SvrSock = socket(AF_INET, SOCK_STREAM, 0);
if (SvrSock == INVALID_SOCKET) return false;
addr.sin_family = AF_INET;
addr.sin_port = htons(FSvrPort);
addr.sin_addr.S_un.S_addr = INADDR_ANY;
setsockopt(SvrSock, SOL_SOCKET, SO_REUSEADDR, (const char *)&yes, sizeof(yes));
if (bind( SvrSock, (struct sockaddr *)&addr, sizeof(addr)) != 0) return false;
if (listen(SvrSock, 5) != 0) return false;
0407デフォルトの名無しさん2009/08/18(火) 21:39:52
SO_REUSEADDR のかわりに SO_EXCLUSIVEADDRUSE ではダメですか?
0408デフォルトの名無しさん2009/08/18(火) 21:49:25
>>407
うまくいきました!
ありがとうございました!
0409デフォルトの名無しさん2009/08/18(火) 22:00:54
Winsockでは、SO_REUSEADDRとSO_EXCLUSIVEADDRUSEのどちらも設定しなくても、
LinuxでSO_REUSEADDRしたのと同じ結果になるって書いてあるブログがあるけど。

WinsockでSO_EXCLUSIVEADDRUSEを設定すると、
FIN_WAIT_2 や CLOSE_WAIT の間もEADDRINUSEになるらしい。

ttp://sakanaya.kir.jp/ymnet/diary/fsdiary.cgi?data=20070903

本当かどうかは知りません。
0410初心者2009/08/18(火) 22:06:34
http://www.dotup.org/uploda/www.dotup.org46048.lzh.html
どこが間違っていて文字を送れない(-1が戻ってくる)のか教えてください
0411初心者2009/08/18(火) 22:07:19
↑winsock2です
0412デフォルトの名無しさん2009/08/18(火) 22:26:52
エラー処理しろよ。 connect とか bind とか listen とか accept の戻り値をちゃんとチェックするべし。
0413デフォルトの名無しさん2009/08/18(火) 22:40:29
戻り値はrecv()以外は成功しています。
今もう一度F11連打でやってみたらちゃんと送られました。でもアプリケーションとして実行すると失敗します。
0414デフォルトの名無しさん2009/08/18(火) 22:46:03
recvの戻り値が-1ならWSAGetLastError()してみろ。
n = recv(...);
if (n == -1) {
printf("error : %d\n", WSAGetLastError());
return 1;
}
0415デフォルトの名無しさん2009/08/18(火) 22:52:46
10054 WSAECONNRESETが戻ってきました
どうも送信側のconnect()とsend()の間に間をおくと成功するようです。
send()の前にSleep()で行けました。
0416デフォルトの名無しさん2009/08/18(火) 23:00:17
>>415
client側でclosesocket()していないのが原因。
send()した後、すぐにWSACleanup()しちゃうから、コネクションがリセットされてしまう。
closesocket()すれば、データが届くまで待つから大丈夫。
0417デフォルトの名無しさん2009/08/18(火) 23:05:39
>>416
ありがとうございます!それだったようです。
WSAGetLastError()というのがあるってことが勉強になりました。
0418デフォルトの名無しさん2009/08/18(火) 23:23:36
winsockでブロードキャスト送信するときって、ポート番号指定しなかったら
相手がとあるポートでudpもしくはtcpでrecvしていても、受信されるのでしょうか?
0419デフォルトの名無しさん2009/08/18(火) 23:35:15
Winsockでは、Ethernetヘッダ部って編集できますか?IPヘッダ部まででしょうか?
0420デフォルトの名無しさん2009/08/19(水) 00:12:39
raw_socket
0421デフォルトの名無しさん2009/08/21(金) 05:08:05
キューっていうのは何者ですか?
0422デフォルトの名無しさん2009/08/21(金) 07:01:52
ピカードに聞け
0423デフォルトの名無しさん2009/08/21(金) 12:36:04
ピカード「ごまちゃんです」
0424デフォルトの名無しさん2009/08/21(金) 18:30:37
winsocketでサーバー対多数クライアントを構築するのですが、どなたか手取り足取り教えてくれませんか
余った時間でかまいません。お願いします
0425デフォルトの名無しさん2009/08/21(金) 18:40:15
いやです
適当な入門書でも読みながら、わからないところだけ訊きに来てください
0426デフォルトの名無しさん2009/08/21(金) 18:51:21
http://www.google.co.jp/search?q=winsocket&lr=lang_ja
0427デフォルトの名無しさん2009/08/21(金) 18:54:49
>>424
そんなお願いするならよぉ、
とりあえず何が必要なのか分かってるよな?
04284242009/08/21(金) 19:06:10
後ろの穴でよければお貸しします。
0429デフォルトの名無しさん2009/08/21(金) 19:12:51
>>427
とりあえず今日はこれで
http://www.dotup.org/uploda/www.dotup.org55444.lzh.html

>>428?
0430デフォルトの名無しさん2009/08/21(金) 20:24:03
いままでUNIXでソケットプログラミングしてたんですけど、今度Windows使う必要が出てきました。
winsockってUNIXでのノウハウは通用しますか?
0431デフォルトの名無しさん2009/08/21(金) 21:04:08
PC初心者板で聞け
0432デフォルトの名無しさん2009/08/21(金) 21:43:08
>>430
通用する。
関数とかライブラリの使い方なんてのはどうでもいいからな、実際。
TCP/IPのことをわかっていることが重要。
0433デフォルトの名無しさん2009/08/21(金) 21:43:49
winsockってBSDソケットだから根っこの部分はまんまじゃね?
0434デフォルトの名無しさん2009/08/21(金) 21:56:47
基本はほぼ同じなんだけど
*NIXで「効率的に」とかを考えると互換性が失われるのと同様かそれ以上に
細部での差はある。
04354302009/08/22(土) 00:33:18
どうもです。
基本的な部分は通用するってことですね。
ありがとうございました。
0436デフォルトの名無しさん2009/08/22(土) 16:14:19
>>435
クライアント側なら、いくらか移植の手間はかかっても、
UNIXのノウハウは通用すると言えるけど、
サーバー側で、しかもマルチスレッディングが必要なレベルになってくると、
UNIXソケットの経験は、ほぼ通用しなくなるよ。
とりあえず動けばいい、なんちゃってサーバならいいけど。
0437デフォルトの名無しさん2009/08/22(土) 16:34:03
キュー連続体!
0438デフォルトの名無しさん2009/08/22(土) 21:59:32
「UNIXで」って一括りにしてるぐらいだから
たかが知れてるやろ
0439デフォルトの名無しさん2009/08/23(日) 00:41:23
まあunixでも差違は有る。実装が違うのだから。
winsockがbsd由来とは逝ってもbsdとは違うのと同じ。
マク辺りもunix名乗ってるけど全然違うんじゃないかなあ。
0440デフォルトの名無しさん2009/08/23(日) 04:00:53
>>439
WinsockとUNIX(BSD)との間の差異は大きいだろ。
少なくともCygwinやService for UNIXみたいなPOSIXエミュレータを
利用しない限り、ほぼコード無修正で移植なんて不可能だし。

それに対して、さすがにソケット仕様におけるUNIX同士の差異は
BSDがベースになっているから、ほとんど無いに等しいと言える。
(差異があってもコンパイルスイッチ等で対応可能なレベル)

Macの場合は、純粋なUNIX(Darwin)としてソケットを使用するなら、
高いBSD互換性がある。実際、Apache/Samba/Netatalk等のサーバも
最小限の変更で動いている。大きく異なるのは、NeXT由来のObjective-Cで
書かれたライブラリを使用して、(主に)GUIアプリを開発するケース。

0441デフォルトの名無しさん2009/08/23(日) 04:08:45
machOS
InterfaceBuilder
0442デフォルトの名無しさん2009/08/23(日) 06:12:33
>>440
データの送受信に関してはほぼコード無修正でLinuxとWinで同じコード使ってるよ。
その他のタスク(ルーティング弄ったり、NICの情報読み書きしたり)はさすがに別コード
になってるけど。
04434402009/08/23(日) 20:03:38
>>442
遅くなってしまったけど、レスありがトン。

正直な話、オイラの場合はNT4.0の時代でWinsockの情報は止まっているんだ。
今時のWinsock(2.0?)なら、ほぼ同じコードでまともな性能が実現できるのかな?
もちろんルーティングテーブルやらNIC情報の取得なんかは、UNIX間でも
互換性が乏しい部分だから、コネクション管理とデータ送受信に限定する。

そのNT4.0という大昔な話だけど、UNIX上で動くサーバ製品をNT4.0へ移植する
プロジェクトに参加してたことがあったんだ。当初は、別部署が開発した
UNIX/Win互換通信ライブラリみたいのを利用すれば、容易に移植できるみたいな
雰囲気で進んでいたんだけど、途中で性能問題にぶちあたってプロジェクト全体の
日程がひっくり返ったという苦い経験をした。

直接的な原因はマスタ・スレーブなマルチプロセス構成のUNIX実装をNTプロセスへ
直に(1対1で)割り当てたという、今から考えると大変おそまつな理由。
最終的に、マルチスレッディング構成への変更はもちろん、オーバーラップI/O使用とか、
サーバのロジック部分を除けば、通信コンポーネント部は全面的な新規開発になった。

今はそんな苦労をせずにUNIXからWindowsへ移植できるのかな?
04444402009/08/23(日) 20:07:07
>>440のカキコにお馬鹿な誤りがあったんで、自己レスで訂正

>実際、Apache/Samba/Netatalk等のサーバも

とあるけど、NetatalkはAFP(Apple File Protocol)のオプソ版実装だから、
MacOS X上で動いている事は絶対にありえない。削除するよ。
0445デフォルトの名無しさん2009/08/23(日) 20:40:46
monoがどこまでいってるかは知らないが、.NETならソケット周りは共通なのでそのまま動くはず。
0446デフォルトの名無しさん2009/08/24(月) 00:32:13
今のマシンスペックなら、ぶっちゃけ性能をどうこう言うほどの差は無い。
0447デフォルトの名無しさん2009/08/24(月) 01:04:36
性能を期待するならOS毎にチューンが違うし
エラー対策もほぼ異なる(羽目になる)んだが
UNIXで一括りしてる時点でたいしたことないな
0448デフォルトの名無しさん2009/08/24(月) 04:42:47
挙動は実装依存だしな。
たまたまNT4に移植したunixの実装依存だろ。

マクは何でもアポーのライブラリ呼ばされそうだけどな。unixとして実装しても、マクとして使う分にはいろいろ問題有るでしょ。
0449デフォルトの名無しさん2009/08/24(月) 05:09:05
何も知らんのに語るな
0450デフォルトの名無しさん2009/08/24(月) 09:53:36
>>449
何か知っているなら語ってくれ
0451デフォルトの名無しさん2009/08/24(月) 12:48:50
>>448
知ったか乙
0452デフォルトの名無しさん2009/08/24(月) 14:19:15
エンディアンが違う
0453デフォルトの名無しさん2009/08/24(月) 14:36:45
ウソツカナイ
0454デフォルトの名無しさん2009/08/24(月) 14:38:20
興味のない方はすみません(スルーお願いします。)
新しくコンテストを来年開きたいと思っています
プログラマー(ゲーム・ツール・)の方は
http://pc12.2ch.net/test/read.cgi/tech/1221701297/l50
のスレに来てもらえるとうれしいです。
運営も募集しています。
↓のような感じでコンテストを開始する予定です。
http://219.113.110.143/
0455デフォルトの名無しさん2009/08/24(月) 19:21:23
>>454
HSPって・・・だいぶ古くないか?それに、これ、荒らし・・・・
04564402009/08/24(月) 21:51:18
みなさまレスありがトン

>>445
.NETはMicrosoft製の共通言語基盤で、momoはそのオプソ版だと理解してます。
そうであればJavaで書けばプラットフォーム非依存になる事と同じ理屈ですから、
申し訳ないけど、今のところはC言語(C++含む)でソケットプログラミングした場合における
プラットフォーム間(特にUNIX<->Windows)の移植性という主題に限定させてください。

>>446
それがですね、DeleGateというプロキシソフトがありまして、キャッシュサーバとして
利用した場合、Linuxならトラフィックが過大になっても「なんとか使える」レベルなんですが
(もちろんSquidより劣化度は悪いけど)、Windowsだと最新マシンでも「使い物にならない」ほど
性能が劣化するという事例(クレーム)を経験しています。詳しく調べていなかったのですが、
CPUやメモリの動作状況には十分な余裕はあり、どこかで引っかかっているという印象でした。
もともとDeleGateのコードは古い設計で、しかもWin移植版はオマケ程度というのが常識なので
しかたがないんですが、マシン性能だけで全ての問題が解決するわけではないこともご理解ください。

>>448
まず、UNIX間で性能チューニングに関してプログラミングで大きな差異は無いと理解しています。
また、主題からは外れますが、運用面でUNIX毎にバッファサイズやセマフォ数などの
チューニング手法、あるいはトラブルシューティング法が異なることは事実とはいえ、
どれか一つを理解していれば他のUNIXへ移っても経験は生かすことができます。
(オイラはSunOS/Solaris/HP-UX/Linuxを経験してます。)
でもそれがWindowsに移るともなれば、チューンもエラー対策も一から勉強し直しに
なるんじゃないかと思うのです。それは(運用面における)大きな差異ではないでしょうか?

(長いので続きます)
0457デフォルトの名無しさん2009/08/24(月) 23:04:26
全レスうざい
04584402009/08/24(月) 23:46:48
(>>456の続き)

>>448
>たまたまNT4に移植したunixの実装依存だろ。

たしかに今時は性能が重要視されるサーバソフトの開発ではマスタ・スレーブ方式な
マルチプロセス構成はしないでしょうね。UNIXでもマルチスレッドが当たり前な時代ですから。
ただ、NT4.0時代からWindowsを離れて浦島太郎状態なので、マルチスレッド構成で最近の
Windows 200x Serverであれば本当に通信制御に関してUNIXからの移植性に問題無しなのか、
今時の設計技術動向を知っている人がいれば教えてもらいたく、質問カキコしました。
あるいは書籍やWebを紹介してもらえるだけでも(英文可)、とても嬉しいです。

>マクは何でもアポーのライブラリ呼ばされそうだけどな。unixとして実装しても、マクとして使う分にはいろいろ問題有るでしょ。

MacOSXではapache/samba/proftpd/postfix/named/cups...etcが普通に(裏で)動いていますよ。
プロセスの起動/停止はMac固有(launchd)だし、設定ファイル編集のGUIはObjective-Cライブラリで
新規開発が必要ですけど、それはネットワークプログラミングの話題からは外れますよね。
MacOSXの底辺はDawinというBSD系UNIXですし、カーネルはMach(マイクロカーネル)ですが、
そのPOSIX互換サービスは歴史が古いだけあって、互換性(移植性と性能)の問題はほぼ皆無です。
そのあたり、出来の悪いWindowsのService for UNIXとの間には絶対的な壁があります。
あるいは「いろいろ有る」という問題点を具体的に指摘してくださいませ。
0459デフォルトの名無しさん2009/08/24(月) 23:59:06
何か釣りだったみたいだな。自分で調べろググレカス。
0460デフォルトの名無しさん2009/08/25(火) 07:49:14
NetInfo
0461デフォルトの名無しさん2009/08/25(火) 08:22:41
マカーうざい、まで読んだ
0462デフォルトの名無しさん2009/08/25(火) 10:29:53
性能重視するんならIOCPとか調べてみたら
0463デフォルトの名無しさん2009/08/25(火) 15:00:54
PF_INET の PF はプロトコルファミリの省略だよね。
AF_INET の AF って何の省略? アナルファック?
0464デフォルトの名無しさん2009/08/25(火) 15:19:46
Auto Focus

ttp://www.google.co.jp/search?hl=ja&q=AF_INET
0465デフォルトの名無しさん2009/08/25(火) 15:19:54
address family
04664632009/08/25(火) 17:47:37
>>464-465
ありがとうございました
■ このスレッドは過去ログ倉庫に格納されています