2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

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

1 :Unknown:02/12/18 23:05
主にソケットに関しての質疑応答スレです。

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

Winsock Programmer's FAQ
http://tangentsoft.net/wskfaq/

過去スレ:
ネットワークプログラミング相談室
 http://pc.2ch.net/tech/kako/970/970344582.html
ネットワークプログラミング相談室 Port2
 http://pc.2ch.net/tech/kako/1006/10062/1006258198.html
ネットワークプログラミング相談室 Port3
 http://pc3.2ch.net/test/read.cgi/tech/1023359282/
ネットワークプログラミング相談室 Port4
 http://pc3.2ch.net/test/read.cgi/tech/1034236536/

2 :Unknown:02/12/18 23:09
図書コーナー!

UNIXネットワークプログラミング〈Vol.1〉ネットワークAPI:ソケットとXTI
http://www.amazon.co.jp/exec/obidos/ASIN/4894712059/ref=pd_bxgy_text_2/249-2677107-1089124
詳解TCP/IP〈Vol.1〉プロトコル
http://www.amazon.co.jp/exec/obidos/ASIN/4894713209/ref=pd_sim_dp_3/249-2677107-1089124
The Implementation (TCP/IP Illustrated, Volume 2)
http://www.amazon.co.jp/exec/obidos/ASIN/020163354X/ref=pd_sim_dp_4/249-2677107-1089124
Linuxソケットプログラミング―ネットワークプログラミングにおける実践技法
http://www.amazon.co.jp/exec/obidos/ASIN/4894714671/qid=1034258224/sr=1-4/ref=sr_1_2_4/249-2677107-1089124

3 :ナナシ:02/12/18 23:12
2ちゃんねるに書き込むで、サーバーに送る内容はこれでよろしいでしょうか?
HTTPでサーバーに接続します。

POST http://game2.2ch.net/test/bbs.cgi HTTP/1.1
Host: game2.2ch.net
Content-Type: application/x-www-form-urlencoded
Content-Length: %
Accept: text/*

"Cookie: submit=%s&bbs=%s&key=%s&time=%lu&MESSAGE=%s&FROM=%s&mail=%s",UrlEncode("書き込む"),"ghard","1037285423",ltime,UrlEncode("kakikomi"),UrlEncode("aaa"),UrlEncode("aaa")


4 :デフォルトの名無しさん:02/12/18 23:15
IEとかの送信内容をtcpdumpすればいいのに。

5 :デフォルトの名無しさん:02/12/18 23:21
>>3
荒しツール作成ご苦労さん

6 :デフォルトの名無しさん:02/12/18 23:21
あきまへん。

7 :ナナシ:02/12/18 23:22
>>4
してますよ。
INETSPYで。

でも、サーバーに転送しても、返信がこないんですよ・・・。
サーバーには接続できていますし、送信もできていますが。

もちろん、私の送っているヘッダー&クッキーに問題があるのはわかってますが・・・。

詳しい方いませんか?

8 :ナナシ:02/12/18 23:24
>>5
失礼な・・・。
ネットワークの勉強に2ちゃんねるビューワーが良いと思っているだけです。

あと、パケットキャプチャーの内容で出たままを送っても駄目ですよね。

POST http://game2.2ch.net/test/bbs.cgi HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
Referer: http://game2.2ch.net/ghard/index.html
Accept-Language: ja
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Q312461)
Host: game2.2ch.net
Content-Length: 376
Proxy-Connection: Keep-Alive
Pragma: no-cache

9 :デフォルトの名無しさん:02/12/18 23:27
2ちゃん以外のサイトで試してみた?

10 :デフォルトの名無しさん:02/12/18 23:37
>>3
ねえ、まだ 3 なんだから、ちょっと上見りゃ...

> 主にソケットに関しての質疑応答スレです。

って、書いてあるんだけど、見えない ?

さっさと、http://www.monazilla.org/ に行けよ。

11 :デフォルトの名無しさん:02/12/18 23:43
>ネットワークの勉強に2ちゃんねるビューワーが良いと思っているだけです。

たしかに、2chの、とくに書き込みは規制がひどすぎて、ある意味勉強にナルナ。
まあ、勉強とかいいつつ、RFCも見ない香具師の云うことなど信用しないが。

12 :ナナシ:02/12/19 00:04
>>10
そのMONAZILLAには、HTTP転送に関する記述は無いですから。

まぁ、必死に勉強中です。

13 :デフォルトの名無しさん:02/12/19 00:24
monazilla Part 3
http://pc3.2ch.net/test/read.cgi/tech/1012544484/
もあるのにね。
ここでの話題ははソケットのみ、では無いけど、特定サーバの話なら
どう考えてもそのサーバの話題を扱ってるスレに行った方が有益だと思う。

14 :デフォルトの名無しさん:02/12/19 09:23
RFC1035によるとドメイン名のラベルは数字で始まっては
いけないようですが、実際には 2ch.net のように数字で
始まるドメイン名も登録されています。
どこかでRFCが改訂されたのでしょうか?

15 :デフォルトの名無しさん:02/12/19 12:22
> > 主にソケットに関しての質疑応答スレです。
>
> って、書いてあるんだけど、見えない ?

にしては、スレタイがそぐわないと思う。

16 :デフォルトの名無しさん:02/12/19 13:17

perlでメール送信するプログラムを書いています。
Net::SMTPを使用して、

$smtp = Net::SMTP->new('127.0.0.1');
$smtp->mail("info\@test.com");
$smtp->to("$To");
$smtp->data();
$smtp->datasend("Content-Transfer-Encoding: 7bit\n");
$smtp->datasend("Content-Type: text/plain; charset=\"iso-2022-jp\"\n");
$smtp->datasend("From:\"$Name\"\n");
$smtp->datasend("To:$To\n");
$smtp->datasend("Subject:$Sub\n");
$smtp->datasend("\n");
$smtp->datasend("$Value\n");
$smtp->dataend();
$smtp->quit;

このようにしているのですが、$Nameに"東西新聞"などと入れておくと、
メーラーのほうには
From: "東西新聞"@mail1.test.com
という風に差出人の名前の下にメールサーバのアドレスがついてしまいます。
これを消すにはどうしたらよいのでしょうか?
またReturn-Pathを変更したいと思い
$smtp->mail("info\@test.com");の
info@test.comの部分をいろいろ変えてみるのですが、
送れるときと送れない時があります。
これはどういった現象だと思われますでしょうか?
できたらここに自由にメールアドレスを設定できるようにしたいのです。


17 :デフォルトの名無しさん:02/12/19 13:57
>>16
From 偽装した SPAM でも送りたいのですか?

18 :デフォルトの名無しさん:02/12/19 14:06
        ▄██     ▀▄             █▄
  ▀█▄
  ▄▄▄████▀       █ 
▄ ▄███▄      █▄   
▀▄
   █▀  █  ▄▄   █▄██ 
█▀  ▀█   ▄   █ 
▄████▄▄
   █▄▄████▀      
█▀█▀    █   
██▄██▀▀    ▀██
   █▀▀ ▀▄       ▄██      
█    ▀▀ █       █▀
   █    █▄  █   ██   
▄████       ▀█   
▀██▀
   █▄▄█▀ █▄██  █ 
█   █   ██▄      █▄
  ███▀    ██▀    █   
▀███▀ ▀▄      ██


19 :デフォルトの名無しさん:02/12/19 14:07
ウシですか?

20 :デフォルトの名無しさん:02/12/19 14:47
>>1
http://www.kt.rim.or.jp/~ksk/wskfaq-ja/
Winsock Programmer's FAQ も日本語訳があるじゃん。

21 :デフォルトの名無しさん:02/12/19 15:51
>>20
おお、比較的最近公開されたんだね。
読んだことなかったよ。ありがとう。

22 :デフォルトの名無しさん:02/12/19 18:16
>>20
Thanks!

23 :デフォルトの名無しさん:02/12/19 20:56
>16
そういうことです。
Fromを偽造して
メールは一括してこちらから代行送信しますが、
返信は各メールアドレスに返せるようにしたいのです


24 :デフォルトの名無しさん:02/12/19 21:02
>>23
返信先を変えたいだけなら、Fromを偽造せんでもReply-Toでいいんじゃないの?

25 :デフォルトの名無しさん:02/12/20 09:31
現在、勉強のためにLANを組んで通信ソフトを作っています。
Linuxにサーバーソフトを置いて、Winでクライアントを動かしていますが、
ときおり、サーバーマシン(Linux)でハードディスクへのアクセスが発生して、
数秒間通信がストップしてしまいます。(頻度は1〜2分に一回くらい)
これは原因は何が考えられるでしょうか?

サーバープログラムとクライアントプログラムを両方Winで動かして、
ローカルで通信をした場合は、この現象が起こらないので、プログラムの
バグではないと思います。

それとLinux板で下のページを教えてもらって、書いてある通りに設定を
したのですが、直りませんでした。
http://www.zdnet.co.jp/help/tips/linux/l0366.html

26 :名無しさん@XEmacs:02/12/20 12:17
>>25
余分なdaemonやprogramは終了して試してみれ。singleで立ち上げたりさ。
正直、板違いだと思うので、続きはLinux版で。
# しかし1〜2分に一度数秒間とはひどいの〜。

27 :デフォルトの名無しさん:02/12/20 12:36
>>26
アドバイスありがとうございます。
そうしてみます。

サーバーにpingを打ったり、送られてきたデータを返すだけの軽いサーバー
プログラムを作ったりしたときは、こういう現象は起こらないので、
最初はプログラムのせいかと思ったのですが、Winで動かすと、そういう
現象は起こらないし、なんだかよく分からない状況です。

28 :デフォルトの名無しさん:02/12/20 13:11
自PCのIP取得って
レジストリから取得するって
マジなんですか?

29 :デフォルトの名無しさん:02/12/20 13:17
>>28
http://support.microsoft.com/default.aspx?scid=kb;ja;171320
> Windows Sockets の gethostbyname API は、コンピュータに割り当てられた IP アドレスを取得するために使用できます。

検索したら、こう書いてあったよ。

30 :デフォルトの名無しさん:02/12/20 14:05
○.plという実行ファイルを./○.plと実行するときに文字列をその実行ファイルに渡したいのですが、./○.pl"スペース"文字列で出来ると思ったんですがどのようにやるのが良いのでしょうか?
このようにするとプログラムの中の$STDINというところにその文字列が入るんだと言われたんです、どうもうまくいってないようです。
他の人に./○ < 文字列という形が標準入力だと言われたんですが、その方法では実行するとそのようなファイルやディレクトリはありませんとエラーが出てしまいます。
どのようにやるのがよいのでしょうか?
よろしくおねがいします。

31 :30:02/12/20 14:09
付け足しなのですが、実行コマンドと一緒に打った文字列を○.plのなかでprint <SOCK> $STDINとしてサーバー側に送りたいのですが。
宜しくお願いします。

32 :デフォルトの名無しさん:02/12/20 14:11
>>30
$echo '文字列' > hoge
$○.pl < hoge

ってことか?

33 :30:02/12/20 14:43
>>32
ありがとうございます。
1かいの操作では出来ないのでしょうか?
ブラウザに表示するHTMLを書き出すPERLのプログラムから`./○.pl`として外部のプログラムを実行して、その実行するときに変数も一緒に渡したいのですが。
どのようにしたらよいのでしょうか?

34 :デフォルトの名無しさん:02/12/20 14:54
>>30
激しくスレ違い

35 :デフォルトの名無しさん:02/12/20 15:14
WindowsでDNSを解決するにはどのAPIを使えばいいですか?

36 :デフォルトの名無しさん:02/12/20 15:15
> 1かいの操作では出来ないのでしょうか?

cat '文字列' | ○.pl

> ブラウザに表示するHTMLを書...

引き数でもなんでも使えばよかろう。

だいたいここでする話じゃない。
もう来るなYO!

37 :デフォルトの名無しさん:02/12/20 15:19
>>35
>>29

別にWin専用じゃないけどな。

38 :デフォルトの名無しさん:02/12/20 16:11
Win標準では、nslookup、ということになるな。

俺はdnsipとかをつかってるが。

39 :デフォルトの名無しさん:02/12/20 17:23
nslookupってAPIだったのか

40 :デフォルトの名無しさん:02/12/20 18:22
WINDOWSで、プログラムからマシンに設定されてるゲートウェイアドレスはどうやったらわかるんでし
ょうか?

41 :デフォルトの名無しさん:02/12/20 18:27
(´-`).。oO(PC初心者板で聞けよ

42 :デフォルトの名無しさん:02/12/20 19:53
>>40
プログラム中で標準入力から読み込む処理を入れて、
管理者に毎回入力してもらう。

43 :名無しさん@XEmacs:02/12/20 21:33
冬休み始ったのかな…

44 :デフォルトの名無しさん:02/12/21 08:08
TransmitFileの進捗状況を、だいたいでも取る方法ってありますか?

45 :デフォルトの名無しさん:02/12/21 17:51
WindowsのIPHelperAPIについての質問です。

GetIfTableとか、そういったAPIを使えば
MIB-IIインターフェースの様々な情報を得ることが出来ますが、
その中で、特定のインターフェースを通じて送られた・受け取ったパケット数が
わかる模様です。

この情報を他のライブラリを使用して知るにはどうすれば出来ますか?

46 :デフォルトの名無しさん:02/12/21 18:15
APIスレの人?
いずれにしろ、目的不明の質問だな

47 :デフォルトの名無しさん:02/12/22 15:08
YAHOO!オークションについてなんですが、商品の詳細な残り時間(秒単位まで)
をjavaで取得することは可能なのでしょうか?よろしければ教えてください。
よろしくお願いします。

48 :もうヤフオクの質問はお腹いっぱい:02/12/22 15:28
もうヤフオクの質問はお腹いっぱい

49 :名無しさん@Emacs:02/12/22 17:41
Perlネットワークプログラミング 発売age


50 :名無しさん@Emacs:02/12/23 02:10
>>49
書評キボンヌ

51 :名無しさん@Emacs:02/12/23 11:31
(・∀・)ジサクジエンデシタ

52 :デフォルトの名無しさん:02/12/23 14:12
age

53 :デフォルトの名無しさん:02/12/23 21:26
文字列がIPかどうかチェックする関数、APIなどありますか?
IPとして妥当かを判定する。
○"192.168.1.1"
×"xyz.168.1.1",".192.168.1","aiueo"...



54 :デフォルトの名無しさん:02/12/23 21:49
inet_addr

55 :デフォルトの名無しさん:02/12/23 23:51
>>53
お前は2度とプログラム書くな。

56 :デフォルトの名無しさん:02/12/23 23:58
>>53
"192.168.1"ってのはIPv4の正当なアドレスですが、何か?

57 :デフォルトの名無しさん:02/12/24 00:31
正当かどうか知らんが
ふつー妥当じゃないだろ。

58 :デフォルトの名無しさん:02/12/24 01:10
>>56
私もそう思ったが、よく見ると、妥当でない例のほうには
最初にピリオドが入っているぞ。

59 :デフォルトの名無しさん:02/12/24 09:25
WinSock1.1でBSDなソケットライブラリを使う場合、
Windows98とXP/2kで挙動が変わったりしますか?
Win98ではなぜかselect内部で例外が発生してしまいます。

60 :デフォルトの名無しさん:02/12/24 09:59
winsock1にselectあったっけ?

win98はwinsock2対応している筈。
できる限りwinsock2を使ったほうがいいと思う。

61 :59:02/12/24 10:52
>>60
BSD互換は1.1からだったと思います。
2.2にしてみましたが状況変わらずです。

62 :デフォルトの名無しさん:02/12/24 10:59
初期化時のバージョン指定も2にしたかい?

63 :デフォルトの名無しさん:02/12/24 21:43
IriaやIrvine,regetなど便利で高速なダウンロードツールってどうやって高速化しているのでしょうか?
高速なだけでなく、失敗したら再開しますね。
高速化と冗長化(?いい言葉浮かばなかった)の方法について教えて下さい。
またそれらのアルゴリズムはダウンロードのみに有効でしょうか?
アップロードにも同様でしょうか?


64 :デフォルトの名無しさん:02/12/24 21:54
>>63
再開については、タイムアウトの条件を細かく設定しているだけ。

高速にダウンロードといっても、普通に作ってもいいんでないかな。
光回線でなければ差はでない気がする。

多数のコネクションを捌くサーバーはそれこそいろんな工夫があるけど。

65 :デフォの名無しさん:02/12/24 22:19
http://www.netperf.org/にあるnetperfというネットワークベンチマークツールを
使ってるんですが、実行後に表示されるのUDPの送信パケット数が、実行前後で
ifconfigを使って差分をとった値とあきらかに違うんだけど、原因は何が
考えられるでしょうか。

ソースを見たんだけど送信パケット数messages_sentが送信処理のとこで
使われてて、以下の様にあるんだけど、Netperfに問題があるようには
思えなかった。カーネルで落としてるの?それとも別の理由?

while (!times_up) {

if ((len=send(data_socket,
send_ring->buffer_ptr,
send_size,
0)) != send_size) {
if ((len >= 0) || (errno == EINTR))
break;
if (errno == ENOBUFS) {
failed_sends++;
continue;
}
perror("dg_send: data send error");
exit(1);
}
messages_sent++;

send_ring = send_ring->next;
}

長くてスマソ


66 :065:02/12/24 22:28
一応補足。
netperfは2台のホストで動作させるもので、受信側マシンで受信用サーバを
立ち上げといて、送信側でコマンドラインから実行するものなのね。

で、UDPの場合だとNetperfの実行結果には、送信側の送信数と受信側の受信数が
両方表示されるんだけど、その受信側の受信数は、
送信側マシン上で実行前後のifconfigでのTX Packetsの差分をとった値と
一致してまふ。


67 :デフォルトの名無しさん:02/12/24 23:15
もしそのOSがLinuxだったら、Linuxカーネルがウンコだからというのが答。
BSDのドライバで言うところのOACTIVEに相当する処理が(まだ)ないのよねえ。

68 :デフォルトの名無しさん:02/12/25 05:58
>>63 (&>>64)
Range指定してるんでしょ?

69 :デフォルトの名無しさん:02/12/25 12:50
SMB氏はもう来ないの?

70 :デフォルトの名無しさん:02/12/25 13:16
SMB=沢村

71 :デフォルトの名無しさん:02/12/25 13:26
>>69
実装が終了したに -1500 SMB。


72 :065:02/12/25 19:24
>>67
Thanks!
そのとおりOSはLinuxでし。書く情報少なすぎ<自分
ちなみに2台のPCの接続形態はFastEther対応のスイッチングHUBで、
パケットサイズは64です。

OACTIVEって何?って思ってググってみたら
http://mail-index.netbsd.org/current-users/1995/01/18/0010.html
とか見ると、カードのバッファが溢れたらOACTIVEってのをsend()の
返り値として返すってこと?

つことはLinuxカーネルでぼろぼろ落としててそれがどこにも
値として残らないってこと?それはあんまり鴨。
ちなみに65のソースのfailed_sendsは実行後0で、
ifconfigのエラー関係の統計は送信側も受信側も全部0でつ。
(errors:0 dropped:0 overruns:0 carrier:0)

73 :67:02/12/25 21:14
> カードのバッファが溢れたらOACTIVEってのをsend()の返り値として返すっ
> てこと?

なかなか鋭いな。実際には、OACTIVE っていうのはインターフェースの状態に
過ぎず、パケット送信処理が動作中だからさらに送信処理を駆動する必要がな
いってことを上位層に伝えているだけなんだけどね。

OACTIVE だからといって send() はすぐにエラーを返すわけじゃなくて、
setsockopt() の SO_SNDBUF で指定した送信量まではカーネルでバッファリン
グしてくれるから send() は成功するんだ。もし、それ以上送信しようとした
場合は、ノンブロッキング・モードなら send() は EAGAIN (EWOULDBLOCK) を
返す。あるいはブロッキング・モードなら、送信処理が進むまで、send() の
中でスリープするから、送信は(おそらく)成功する。

だから、Linux に OACTIVEに相当する処理がないっていう前の書き込みは、語
弊があったかな。正確には、UDP の場合、SO_SNDBUF によるカーネル内での流
量制御が行なわれず、溢れた分を捨てて知らんぷりするって言った方がよかっ
たな。

> つことはLinuxカーネルでぼろぼろ落としててそれがどこにも
> 値として残らないってこと?

少なくともアプリケーションの側からは、送信されずにカーネル内部で捨てら
れてしまっいることはさっぱり分からない。アプリケーションで送信したパケッ
ト数と、システム全体で送信した UDP パケットの総数の差をとれば、だいた
いどれくらい捨てられたか分からなくもないが、まあ、そんなことしてもあま
り意味ないしな。


74 :デフォルトの名無しさん:02/12/26 02:34
>>65
単に他のアプリケーションがUDPを送受信しただけじゃないの?
そんな簡単にパケット捨てられてたまるかよ。


75 :デフォルトの名無しさん:02/12/26 02:47
>>74
UDP は捨てられても不思議じゃない。
Windows はちょっと CPU 付加が高いと平気で捨てるし。

76 :デフォルトの名無しさん:02/12/26 10:09
実際に捨てられるかどうかは置いておくとしても
UDPは確実に届く保証が無いことを前提にしてプログラムすべき

77 :デフォルトの名無しさん:02/12/26 11:19
ドロップ率の話では?

78 :デフォルトの名無しさん:02/12/26 11:32
>>65
なんか、数字が違うとか、言葉で説明されてもよくわからん。
実際の数字を見せれ。
多いのか少ないのかもよくわからんし。


79 :デフォルトの名無しさん:02/12/26 11:47
>少なくともアプリケーションの側からは、送信されずにカーネル内部で捨てら
>れてしまっいることはさっぱり分からない。

ENOBUFSでわかるんちゃうの?

80 :デフォルトの名無しさん:02/12/26 11:54
UDPは黙ってdropしてもいいことになってるから
ENOBUFS返すかどうかは実装依存なんでは・・・

つかENOBUFSってシステムリソースが不足したときにしか
見たことないや。freebsdだとmbufが枯渇したとか。

81 :デフォルトの名無しさん:02/12/26 12:09
linuxだったら返すでしょ。たぶん、確認したこと無いけど。
udp.cのudp_sendmsgにそれらしい記述がある。

netperfでfailed_sendsがゼロであるにもかかわらず、数字が違うとは
よくわからん話やな。
他のアプリが送受信しただけだと思いたいけど。

82 :デフォルトの名無しさん:02/12/26 19:45
Linux で、100BASE-T の NIC を使って UDP で netperf 実行してみ。
送信側は 500Mbps などという (100Mbps 以上の) 値が出るから。
line speed 以上のデータなんて当然送れるわけないから、これらは
みんなカーネルの中で黙って捨てられてるってことなのねん。
Linux 以外の UNIX だと、100Mbps を越える値にはならない。黙って
勝手に捨てるなんてことはしないから当たり前だが。

>>79,81
こういう場合、Linux では ENOBUFS なんて返さん。もし返すなら、
65のソースでmessages_sentが加算されることなんてない筈だろ。
ちゃんとソース読め。
>>81
その udp_sendmsg の ENOBUFS 返す処理は、このケースじゃなくて、
カーネルの中でリソースが枯渇した時じゃないのか?

つーか、Linux 使ってるヤシにとって、これくらい常識だと思ってたん
だけど、そうじゃないのか? ネットワーク・ベンチマークしてみればすぐ
分かる話なんだが、おまえら性能評価ってやりませんか、そうですか。

83 :デフォルトの名無しさん:02/12/26 22:39
> おまえら性能評価ってやりませんか、そうですか。

ハァ?ここは2ちゃんねるですよ?
馬鹿は休み休みにおながいします。あ、学生はもう休みですが。

84 :デフォルトの名無しさん:02/12/27 01:23
>>82
お前のソースの読み方が間違ってるw


85 :デフォルトの名無しさん:02/12/27 01:26
>>83
学生==馬鹿ってこと?

86 :デフォルトの名無しさん:02/12/27 01:29
>>82
もしかして、ローカルに接続してないか?w
うち、10MのNICだけど、9.4mってでたぞ。ちゃんと。2つの端末間で。


87 :デフォルトの名無しさん:02/12/27 01:32
|-`).。oO(利口な学生なんて見たことないな)

88 :デフォルトの名無しさん:02/12/27 01:46
>>87
人口少ないけど、居るには居るよ。
ただし、彼らはここに来ない。

89 :デフォルトの名無しさん:02/12/27 03:40
>>84
65のソースを、インデントつきで再引用してあげよう。

01:while (!times_up) {
02:    if ((len = send(data_socket, send_ring->buffer_ptr, send_size, 0))
03:      != send_size) {
04:        if ((len >= 0) || (errno == EINTR))
05:            break;
06:        if (errno == ENOBUFS) {
07:            failed_sends++;
08:            continue;
09:        }
10:        perror("dg_send: data send error");
11:        exit(1);
12:    }
13:    messages_sent++;
14:    略
15:    send_ring = send_ring->next;
16:}

このソースで、send()がENOBUFSエラーで終る場合に、messages_sentが
増えると主張するわけですね。
おそれいりました。とりあえず、8行めのcontinueから、どうやって
13行目に飛ぶのか説明しる。

>>86
netperfの標準スクリプトを一式走らせているので、間違ってもそれはない
(TCPでは、納得のいく値が出ている)。


90 :デフォルトの名無しさん:02/12/27 13:05
>>89
ご苦労さんw

>send()がENOBUFSエラーで終る場合に、messages_sentが
>増えると主張するわけですね。
誰もそんなこと言ってません。

>Linux では ENOBUFS なんて返さん。
ソース見ただけで、これはわからんだろ?
冷静に考えろよw

こういう場合とか、このケースとかどういう場合、ケースなのよ?
そして、netperfの結果を教えて欲しいわ。正確な奴。

91 :デフォルトの名無しさん:02/12/27 13:13
うわ。ごめん、160Mでたw
もう、よくわからんわ

92 :デフォルトの名無しさん:02/12/27 14:16
>>89-90
典型的Linux厨だなお前ら。
自分の知識が否定された程度で本気で切れるな。

お前らごときの知識・スキルが社会で役に立つことなんてねえ…

93 :デフォルトの名無しさん:02/12/27 14:46
>>92
横からしゃしゃり出てきて、お説教ですか?
ご苦労様です。

94 :デフォルトの名無しさん:02/12/27 14:58
このスレの奴ら、性格暗い・・・

95 :デフォルトの名無しさん:02/12/27 15:14
>>88 == 真実

96 :デフォルトの名無しさん:02/12/27 15:14
>>94
ネットワーク系はみんなそうだよ

97 :デフォルトの名無しさん:02/12/27 16:41
質問です。ルータ越えのブロードキャストってどうやったら出来ますか。

255.255.255.255だとlimited broadcastで同一ネット内ですよね。
ルータにでもお願いするのでしょうか。

98 :デフォルトの名無しさん:02/12/27 17:20
>>97
(゚Д゚)ハァ?
そこまで知ってて特定ネットワークのブロードキャストアドレスというのは思いつかんのか?
directed broadcastで調べてみ。

99 :97:02/12/27 17:45
>>98
direct broadcastって
別ネットのネットワークアドレス指定 + ... + .255
でしか?

だと、ブロードキャストしてくれないみたいです。ルータの仕様かも。
フルでIP指定すると届くネットなんですけど。

100 :デフォルトの名無しさん:02/12/27 17:53
> >Linux では ENOBUFS なんて返さん。
> ソース見ただけで、これはわからんだろ?

ソースと、72の結果(failed_sendsが0)を見比べれば、わかります。

> そして、netperfの結果を教えて欲しいわ。正確な奴。

自分の手元で試してみることをお勧めするけど、まあいいや、
以下は netperf の udp_stream_script の結果。

./netperf -l 60 -H 192.168.0.4 -i 10,2 -I 99,10 -t UDP_STREAM -- -m 1024 -s 32768 -S 32768
UDP UNIDIRECTIONAL SEND TEST to 192.168.0.4 : +/-5.0% @ 99% conf.
Socket Message Elapsed Messages
Size Size Time Okay Errors Throughput
bytes bytes secs # # 10^6bits/sec

131070 1024 59.99 4088743 0 558.32
131070 59.99 683564 93.34

この結果が示してるのは、100BASE-T のネットークに対して 1 度の
エラーもなく 558.32Mbps で送信が成功していることと、受信側では
そのうちの 93.34Mbps 分のパケットを受けとってるってことですね。
ちなみにこれは、この2ホストのみからなるprivateなLANで実験した
結果なので、コリジョンとかそういう問題はありえません。
すなわち送信側のLinuxカーネルは、少なくとも 458.32Mbps、おそらく
464.98Mbps 分のデータを、エラーも示さず、ネットワークに送出する
こともなく握り潰してるってことになりますね。

65だけじゃなくて、86=91のところでも同様な結果になったみたいね。

101 :デフォルトの名無しさん:02/12/27 17:54
>>99

> 別ネットのネットワークアドレス指定 + ... + .255
> でしか?

255とはかぎらないが。
ホストアドレスがオール1。

> だと、ブロードキャストしてくれないみたいです。ルータの仕様かも。
> フルでIP指定すると届くネットなんですけど。

どっちかつーと普通蹴るだろ。smurf攻撃対策だしな。
必要ならルータの設定汁。


102 :97:02/12/27 18:31
>どっちかつーと普通蹴るだろ。smurf攻撃対策だしな。

やっぱりそうですか。別ネットにはbroadcastしないことにします。

103 :デフォルトの名無しさん:02/12/27 19:13
>>100
>ソースと、72の結果(failed_sendsが0)を見比べれば、わかります。

本当にfailed_sendsがゼロだったのでは?
上のスレで、数字が違うとか言ってるというだけで、異様に帯域が広いとか、
そんなこといってないし。パケット数が違うと言ってただけだし。
他のアプリがUDP使ってるかもしれないことを考慮に入れると、
断定はできませんよね。

104 :デフォルトの名無しさん:02/12/27 20:26
> 本当にfailed_sendsがゼロだったのでは?
カーネルがぼろぼろ落しているわけではなく、send()は全て
成功して確かに全てのパケットが送出されていたが、
netperfと関係ない別のアプリがUDPパケットを送信していた
から一致しない... という推測も可能だって言ってますか?

でも66を読んだ時点で、その推測は誤りだと気づく筈。
66では、ifconfig の TX Packets の差分と、netperf
の受信側の値が一致していると言っていますからね。
つまり、66を読めば、
● send()が成功を返した回数と、実際にNICから送信された
 パケット数(==受信側netperfが受信できたパケット数)が
 一致していない
● これは別のアプリのせいではない。
 別アプリによるUDPパケット送出はゼロで、TX Packets の差分
は全てnetperfの送信によるもの
だというところまでは判る筈。
そしてさらに72まで読めば、
● send()がENOBUFSのようなエラーを返しているわけでもない
● Ethernetレベルでの送信エラーも生じてない
ということも確認可能。
俺には、65,66,72の結果だけで、Linuxカーネルに問題があると
いう結論が導き出せると思うんだが、もし問題ないという推論が
可能ならば、どういう論理でそれが可能になるかを教えて欲しい。

> 異様に帯域が広いとか、そんなこといってないし。
82で、異常に大きなバンド幅が出るって言ってますけど...
先入観が邪魔して、66をちゃんと読めてなかったってことかな。
まあ、俺だって同じようなミスを犯すことは、ままあるかもナー。


105 :デフォルトの名無しさん:02/12/27 22:18
>>104
66の文はよんでたが、netperfを勘違いしてた。
受信側の受信すうってのは、実験相手側の受信数だったんか。
てっきり、自分に送られてきたパケットのことだと思ってたわ。
お互いにパケット送信してはかるみたいな実験だと思ってた。
2つの端末で同じ実験してるんだから、ifconfigで差分取った値と同じだろうなぁ
と…。
いま、netperf落として確認しましたw。

わざわざ解説させてすんまそん。

FreeBSDとかだと、こんなことは起こらないのか?
放っておいても別に関係ない問題なの?
まだネットワークプログラミング始めたばかりなので、よくわからんが、
UDPでも一応、ちゃんとネットワークに送出したかしないかくらいは、教えて欲しい
んじゃないのか?やっぱり。

106 :デフォルトの名無しさん:02/12/28 09:48
> FreeBSDとかだと、こんなことは起こらないのか?

FreeBSD に限らず、普通のUNIXでは73にあるような仕組みでスリープ
して待つので、こういう現象は起きない筈。

> 放っておいても別に関係ない問題なの?

Internet で現在広く使われているプロトコルで、1対1通信をしている
限りなら、この問題の影響を受けることは、普通ないと思う。だから
こういう実装のままになっているんだと思うけど、大量のUDPパケット
を送信するような状況、例えばUDPを使うプロトコルの大規模なサーバー
を、Linuxマシンで構成するような場合、この問題のおかげでパケット
損失率が増えて、性能上の問題が起きる可能性があると思う。

> UDPでも一応、ちゃんとネットワークに送出したかしないかくらいは、
> 教えて欲しいんじゃないのか?やっぱり。

うん。そう思うよ。


107 :名無しさん@XEmacs:02/12/28 16:13
正直、ベンチマークか、閉じた環境(switchに2台だけで特殊なUDPアプリなど)
でしか問題にならないんじゃないかね?

108 :デフォルトの名無しさん:02/12/28 17:01
影響があると断言できるのは、確かにそういう場合だと思う。

でも、サーバー1対クライアント多数で通信している場合、
たまたま多数のクライアントへ短い時間に集中して返答を
返すようなことが起きると、パケット損失が大量に出る
ような気がしない?

勝手に捨てたりせずにスリープするような実装なら、
そういう場合もそれほど損失は出ない筈。

再送などの機構によって、どちらの場合でも最終的に通信が
できることには変わりないけど、効率はだいぶ違う可能性が
あるんじゃないか。


109 :メモ:02/12/29 02:16
http://jbpe.tripod.com/rfcj/rfc1036.j.sjis.txt
http://www.goto.info.kanagawa-u.ac.jp/~horiyuki/rfc/rfc1036-j.euc

110 :デフォルトの名無しさん:02/12/29 06:05
>>107
高bitrateのストリーム配信とかやる時はまずそうだけど、あんまり
やらんかな。

111 :名無しさん@XEmacs:02/12/29 10:05
>>110
レートが安定する、可能な限り帯域を稼ぎたい必要があれば、
・UDPは使わない。
・UDP使ってても帯域制御の機構を上位レイヤーに持つ。
でしょ? RTP/RTCP, TCP, RSVP, その他。

112 :デフォルトの名無しさん:02/12/29 13:09
負荷の非常に高いDNSサーバーでも、ヤバいような気が。

113 :名無しさん@XEmacs:02/12/29 13:35
ROOT-SERVERS.NETはチョト考えた。
実際どうなんだろう?

114 :デフォルトの名無しさん:02/12/29 18:33
>>111
??
TCPなんか使ってたら転送レートの予測は無茶だと思うんだが?


115 :デフォルトの名無しさん:02/12/29 19:59
>>114
細かいことは良いじゃないか。UDPの上位レイヤでTCP使ったって良いじゃないか。


116 :111:02/12/29 21:52
>>115
> UDPの上位レイヤでTCP使ったって良いじゃないか。

いや、流石にそれは(w

>>114
転送レートの予測をしたい時にTCPを使え、とは書いてません。
んじゃ。

117 :デフォルトの名無しさん:02/12/29 23:02
>>114
なぜ?

118 :デフォルトの名無しさん:02/12/30 02:20
何故なんだぁぁぁぁぁっ!!

119 :デフォルトの名無しさん:02/12/30 15:03
Windowsでサーバプログラム作ってるんですが
acceptって、どこら辺に書けば良いのですか?
listenまでの手順はWN_CREATEの時に行っているのですが
acceptをどこに置けば良いか悩んでます。

120 :デフォルトの名無しさん:02/12/30 15:09
>>119
たいていはコンソールアプリで作ると思うんだが

121 :デフォルトの名無しさん:02/12/30 19:50
>>120
質問に答えろよ、デコ助野郎が。

122 :デフォルトの名無しさん:02/12/30 20:05
じじいはドリフでも見てろ

123 :デフォルトの名無しさん:02/12/30 23:41
コンソールで動くものを作ったのちにGUIを(必要あれば)実装する。
最近の若いもんは、みたいなこと思っちゃうな。
ドリフ知ってるアンタも。。。

アンタも好きねぇ〜(意味なし。つ、つい)

124 :デフォルトの名無しさん:02/12/30 23:42
>>121
そうか。これじゃ気を障ったか。

アプリがどのタイミングで接続を受け取りたいか考えて、
メッセージループの中でも別スレッドでも、ここだと思うとこに置けや。

自分のこの場合だとメッセージループに該当するか。

125 :119:02/12/31 01:55
>>120
やはり、GUIだとログ見たりするのが楽ですから。

>>123
コンソールで動くものを作るのは簡単だったんですけど
イベントドリブンだと、どこに置いて良いか分からないんです。

>>124
メッセージループって、WinMainの中ですか?
あそこに書くのは不味いような・・・。
やはりWM_CREATEが来た時に、accept用のスレッド作れば良いのかな。
でも、複数の接続要求が来た場合、またそこからread用の別スレッド作って
平気なんですかね。難しい。
あ、ちなみに>>121は私ではありませんので。

126 :デフォルトの名無しさん:02/12/31 02:09
平気ですし、普通です。

127 :デフォルトの名無しさん:02/12/31 02:23
つーかGUIならWSAAsyncSelect使えばメッセージでイベント
拾えるでそ?
まぁ別スレッド起こすのでもいいけど。

128 :デフォルトの名無しさん:02/12/31 09:34
>>125
今気づいたけど、メッセージループに書くとメッセージが飛んできたときは、
処理がそっちに流れるからacceptを実行する間隔が一定しないという問題があったね。
だからこそサーバプロセスはコンソールで、管理ツールはGUIで別プログラムとして作ったりしてたが・・・

スレッドを大量につくるのも1つの方法として普通にあります。

129 :デフォルトの名無しさん:02/12/31 09:47
>>125
124の実装前提をかいてなかったね、すまん。

ソケットはノンブロック、メッセージループはPeekMessage(であってたっけ?)でメッセージ非到着の時はacceptを常に実行。
接続がきたら処理用のスレッドを走らせてそっちで処理、WinMainは直ちにacceptを続行する。
スレッドは処理が終わって切断したら終了して廃棄。

もちろん127みたいにイベントスタイルで組みたいのであれば124、このの遣り方は合わないよ。

130 :デフォルトの名無しさん:02/12/31 12:30
Winsockのサンプルプログラムではソケットのバージョンに1.1を使っている物が
多いですが、敢えて1.1を使う理由は古いOSでも使えるようにするためですか?
2kやXPで使うことを前提のプログラムならもっと新しいバージョンを使うべき?

131 :デフォルトの名無しさん:02/12/31 23:42
>>130
使うべきというかどっちでもいい。
Winsock2.0が標準で入ってる環境のみをターゲットとしているなら
Winsock2実装でいいんじゃねーの?
・・・で、君は1.1と2.0の違いは分かってるの?

132 :デフォルトの名無しさん:03/01/01 00:43
シビアなサーバアプリでもなければ1.1で十分なような

133 :デフォルトの名無しさん:03/01/01 15:52
おめーら、あけましておめでとうございます。

134 :デフォルトの名無しさん:03/01/01 19:50
>>131
130ではないけれど、Winsock2.0と1.1の違いって何ですか?

135 :デフォルトの名無しさん:03/01/01 22:58
>>134
まずは今自分が知っている範囲内で1.1と2.0の違いを述べよ。

136 :デフォルトの名無しさん:03/01/03 10:24
Linux上でCでsend関数使ってUDPの通信させようとしてんだけど、
send関数を実行して処理結果が戻ってくるまでの時間って
宛先がlocalhostの場合と他ノードの場合とでは違うのかね?

パケットを連続送信させようとしてるんだけどさ、
パケット間隔ってこの場合どう決まるのかなと思って。

137 :デフォルトの名無しさん:03/01/03 10:26
>>136
ストップウォッチ・・・

138 :デフォルトの名無しさん:03/01/03 15:24
>>136
知る限りでは変わらなかったよ

139 : :03/01/03 16:17
これあってますか?
Win系でたとえばTCPとUDPのソケットを両方備えたプログラムって
TCPは
 ソケット作って→バインドして→ソケットをスレッドにして
 recvでまつ、セッションが完了したら終わり
 ほんでまた、すれっど 作る recvでまつ
UDPは
 ソケット作って→バインドして
 recvfromでまつ、
 プログラムが終了するまでとにかくrecvfromをまわし続ける

140 :デフォルトの名無しさん:03/01/03 17:37
win系だろうとunix系だろうと基本は同じでは。
スレッド作るかどうかはデザインや制約次第だけど。

141 :デフォルトの名無しさん:03/01/03 17:44
>>139
非同期なAPI使え。

142 :デフォルトの名無しさん:03/01/03 18:19
>>139
TCPだと
WSAStartup()
socket()
bind()
listen()
accept()
recv()
[ send() ]
shutdown()
closesocket()
WSACleanup()
ですね。


143 :139:03/01/03 18:35
>>140
WINDOWSではfork()が弱いと聞きました
 まだ実験してないですがマルチプロセスがWINでどうよわいのか、、

>>141
 >非同期なAPI使え。
 調べてみます、ソケット関数以外ですね、、、

>>142
 TCPの場合listen()とaccept()が不要ということも聞きました
 実際なしでも動いています。1セッションのみ
 TCPで複数のセッションを管理するPGはつくったことないですが
 ほんとにいらないのですか?


144 :デフォルトの名無しさん:03/01/03 19:37
>TCPの場合listen()とaccept()が不要ということも聞きました
UDPの間違いではないでしょうか?
あるいはクライアント側とか。
ちょっと聞いたことありません。
もっともWinsockは詳しくありませんが。


145 :139:03/01/03 19:45
>>144
訂正します
TCPの場合 → ×
TCPでもUDPでもです

146 :デフォルトの名無しさん:03/01/03 20:49
WSAAsyncSelect()を使ってもlisten()とaccept()は必要だった
と思います。
どんな環境で実行されているのか

それとスレ違いかも知れませんが、
>Windows XP のスレッド生成は、Windows 2000 よりも改善
>されましたが、それでもLinuxの60%にすぎません。
>また、Windows XP のプロセス生成はWindows 2000 よりも
>格段に遅く、Windows 2000 のプロセス生成はLinux より
>も遅いものとなっています。
だそうです。


147 :デフォルトの名無しさん:03/01/03 20:59
詳解TCP/IP vol2買った人いますか?


148 :139:03/01/03 21:20
>>146
WindowsXP ProとVC++でws2_32.libを使用しています
>WSAAsyncSelect()を使っても
いまそれでつまってるんです
非ブロック関数を使用したら固まらないみたいで、、
GUI環境でサーバスタートをボタンにしたら処理が帰ってこない
のです。Borlandだとsocket()関数のパラメタが異なるので
悩んでいます。BorlandとMicrosoftのws2_32.libは仕様が異なる
のだろうか_?

UNIXはライブラリやAPIが素直らしいのではやくやってみたいです^^;



149 :デフォルトの名無しさん:03/01/03 21:21
> UNIXはライブラリやAPIが素直らしい

そうでもないよ...

150 :デフォルトの名無しさん:03/01/03 21:47
>悩んでいます。BorlandとMicrosoftのws2_32.libは仕様が異なる
使用されている環境ではそれはないと思います。

話がよく見えないのですが、サーバプログラムなのでしょうか?
ひとまずlisten()とaccept()を使ってみた方が良いとおもいます。
WSAAsyncSelectを使っている様なので
socket->WSAAsyncSelect(FD_ACCEPTを忘れずに)->bind->listen
で、
FD_ACCEPTのハンドラでrecv前にacceptしてみれば良いかと。


151 :136:03/01/03 22:38
実はさ、このスレの最初の方でも出てきたnetperfを使ってたんだけど、
UDPってフロー制御していないはずなのに、netperfのUDPは
localhost宛てと他ノード宛てで送信レートが違ったんだよ。
で、ソース見てみたら時間がくるまでsend繰り返しているだけ
だったからsendの処理が終わるまでの時間が違う?と思ったんだけど・・・。

どないでっしゃろ?

152 :デフォルトの名無しさん:03/01/03 22:54
>>136
どれぐらい違ったのですか?
興味ありますね。


153 :デフォルトの名無しさん:03/01/03 23:04
ARPキャッシュのリフレッシュとかローカルノードかそうでないか
影響うけるんじゃないかな?



154 :151=136:03/01/04 00:49
>>153
うーん、ARPキャッシュにしちゃ、差がありすぎる気がするんだよねえ。
以下の通り。

>>152
試しに以下のコマンドでやってみますた。
netperf -H localhost -t UDP_STREAM -- -m 1460
(または他ノード)

Windows上でlocalhost宛:送 249.90Mbps、受 249.90Mbps
Linux端末宛:送 8.81Mbps、受 8.81Mbps

Linux上でlocalhost宛 :送 3611.88Mbps、受 2040.15Mbps
    Windows端末宛:送 9.60Mbps、受 9.60Mbps

※1 Windows端末とLinux端末の間は10Base-Tです。たぶん。
※2 2台の端末間で伝送レートが違うのはソケットサイズに依存してる為です。

WindowsにしろLinuxにしろ、
localhost宛は何故か送信レート自体が速いです。。
なのに他ノード宛だと受信レート(=実際の伝送レート)くらいまで
送信レートが小さくなっている。
ナゼダ-?

155 :デフォルトの名無しさん:03/01/04 00:50
NICから外に出ないだけだろ

156 :デフォルトの名無しさん:03/01/04 01:00
>>154
localhostってlocal node上に存在する他のhostのことでは
無かったのですネ
ハズカシイィ

157 :デフォルトの名無しさん:03/01/04 01:38
そもそも node ってのは...

158 :デフォルトの名無しさん:03/01/04 03:47
内の内

159 :デフォルトの名無しさん:03/01/04 13:33
2つのPC間(Linux,Win2k)でファイル転送を行うperlのプログラムを書きたいのですが、ftpやrcpを使わずに出来ないでしょうか?


160 :デフォルトの名無しさん:03/01/04 14:05
tcpのストリームでデータを垂れ流せ

161 :デフォルトの名無しさん:03/01/04 14:30
UDPで一方的に投げつけろ

162 :デフォルトの名無しさん:03/01/05 00:16
SMTPで送りつけろ

163 :デフォルトの名無しさん:03/01/05 04:47
httpで(ry

164 :159:03/01/05 14:45
>>163
ネットワークプログラミングが始めてなのですが、ファイル転送
の際にHTTPを利用してメタデータ(ユーザー名、プロジェクト名
、ファイル名、更新状況など)
のやりとりも行なうことは出来ますか?

このスレの過去ログを拝見したところ、以前にも書き込みがあった質問ですが
アプリケーションプロトコルについて堀下げて教えてもらえないでしょうか?

165 :!163:03/01/05 15:00
>>164
やりたいことが今一分からんが、
HTTPでやるならマルチパートなデータをPOSTすればいいんでない?

>アプリケーションプロトコルについて堀下げて教えてもらえないでしょうか?
RFCが良い。主要なものは和訳もあるよ。

166 :デフォルトの名無しさん:03/01/05 15:05
>>165
RFCの和訳はコチラで合ってますか?
http://rfc-jp.nic.ad.jp/rfc-jp-index.html
HTTPの和訳ないようですが...


167 :164 :03/01/05 15:18
>やりたいことが今一分からんが、
アップロード:サーバーのどこのディレクトリに保存するか?
ダウンロード:どのファイルをクライアントに保存させるか?
という事をクライアント側で考がえる事なく、サーバー側で自動で判別させたいのです。オペミスと作業量の低減を 考がえています。


168 :163:03/01/05 15:24
160-162の流れで半分冗談のつもりで書いたんだが…
ようするに中身を自分で規定すれば何に載せようが
かまわないじゃんってこった

それだけじゃあんまりなんでほれRFC 2616ja
http://www.studyinghttp.net/rfc_ja/2616/rfc2616_ja.html

169 :デフォルトの名無しさん:03/01/05 16:14
>>167
適当なヘッダー作って、それを参照したら?

170 :デフォルトの名無しさん:03/01/05 16:20
HTTPに載せるならWebDAVという手もあるな
159の要求をすべて満たすかどうかは知らんが

171 :デフォルトの名無しさん:03/01/06 19:11
それぞれ別のFW内にあるPC同士でTCP/IP通信を行うには
どうすればいいですか?
ネットゲームなどでよくある、ロビーサーバ的なものはありません。
FWの設定を変更して、ポートを空けることはできます。


172 :デフォルトの名無しさん:03/01/06 21:45
>>171
ポート開けられるなら何の問題があるのかと、小1時間・・・


173 :デフォルトの名無しさん:03/01/06 21:52
NATがあるんでないの。

174 :デフォルトの名無しさん:03/01/07 00:13
なっとう

175 :デフォルトの名無しさん:03/01/07 10:55
お前ら、UDPの通信でsendtoでなくsendで送信を行うことはありますか?
それはどのような場合ですか?
教えてたもれ。

176 :デフォルトの名無しさん:03/01/07 11:58
>>175
connectする時

177 :デフォルトの名無しさん:03/01/07 13:59
便乗だけど、FW内のマシンのwindows共有にアクセスしたい場合、
ポートはどこを空ければいいの?

178 :デフォルトの名無しさん:03/01/07 14:13
133〜135

179 :177:03/01/07 22:37
>>178
それって何のポート??

180 :初心者:03/01/07 23:55
javaで、MulticastSocketを使ったプログラムを
windows上で使うとエラーになります。
(BindException)
ちなみに、Unix上だとちゃんとうごいたんですが、、、
どうしてですか?

181 :デフォルトの名無しさん:03/01/08 10:30
>>180
そのBindExceptionの付加情報として何かメッセージ出てんじゃないの?

182 :デフォルトの名無しさん:03/01/08 11:36
$ java MulticastChat
java.net.BindException: Cannot assign requested address: Cannot bind
at java.net.PlainDatagramSocketImpl.bind(Native Method)
at java.net.DatagramSocket.bind(DatagramSocket.java:331)
at java.net.MulticastSocket.<init>(MulticastSocket.java:147)
at MulticastChat.<init>(MulticastChat.java:28)
at MulticastChat.main(MulticastChat.java:66)
これでした。

183 :デフォルトの名無しさん:03/01/08 13:05
で、アドレス何にしてんの?

184 :IP記録実験:03/01/08 21:30
IP記録実験
http://qb.2ch.net/test/read.cgi/accuse/1042013605/

1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。

27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?

38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。

73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。

185 :デフォルトの名無しさん:03/01/09 02:38
まあ記録されてるとは言っても、ののたんのおまんこ裂きたいよね

186 :デフォルトの名無しさん:03/01/09 03:21


パート2まだ〜?



187 :デフォルトの名無しさん:03/01/09 04:04
2ちゃんねる が衰退していく

あるネット関連会社の社長は、
「いずれにしても2ちゃんねるは資金が底をつけば終わり。
あまり知られていないことだが、2ちゃんねる内部関係者によると今、
大手通信会社系が調査費名目で資金提供している。
だが、それが止まれば続けてはいけないだろう」
と証言する。
2ちゃんねるが判決によって力を失った場合、
資金提供の打ち切りも予想される。

http://ascii24.com/news/reading/causebooks/2002/07/01/636911-000.html

188 :デフォルトの名無しさん:03/01/09 13:28
さぁて、どうなることやら

189 :デフォルトの名無しさん:03/01/09 14:52
■「ある発言が名誉毀損かどうかを管理人では判断できない。
  法廷で判断されてからでもいいではないか」
今回、次のような発言は動物病院にとっては「社会通念上、名誉毀損と容易に推測できるはず」
とされています。
ブラックリスト、過剰診療,誤診,詐欺,知ったかぶり、えげつない病院、ヤブ医者、
精神異常、精神病院に通っている、動物実験はやめて下さい、テンパー、責任感のかけらも無い、
不潔、氏ね、被害者友の会、腐敗臭、ホント酷い所だ、ずる賢い、臭い
  

190 :デフォルトの名無しさん:03/01/09 17:29
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数: 138720人 発行日:2003/1/9

年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。

そんなわけで、年末に予告したIP記録ですが実験を開始しています。

「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────

191 :デフォルトの名無しさん:03/01/09 23:18
qb
削除整理、削除要請、削除議論、批判要望

live2
ニュース速報

tmp
ニュース極東、バカニュース、ちくり裏事情、違反の潰し方、薬・違法
少年犯罪、政治思想、ゴーマニズム、ペット苦手、download
ロビー、なんでもあり、厨房、最悪、学歴、人権問題

192 :デフォルトの名無しさん:03/01/10 01:09
>>551
「コテハン戦隊ラウンジャー」に鑑定依頼してきますた

193 :デフォルトの名無しさん:03/01/10 09:46
>>148
へぇー、結構多いね

194 :デフォルトの名無しさん:03/01/10 10:25
IP取ってる板

>>148>>15>>150


195 :デフォルトの名無しさん:03/01/10 10:31
ttp://www.cs.wustl.edu/~schmidt/ACE.html

これ使ったことあるヤシいるか?
感想キボンヌ

196 :初心者:03/01/10 10:38
>>183
"235.159.23.21"

197 :デフォルトの名無しさん:03/01/10 10:40
なんかスッゲーすっきりしたよ、ありがとう

198 :デフォルトの名無しさん:03/01/10 11:48
■基礎知識■

■「言論の自由はどうなった!」
言論の自由は、名誉毀損には適用されません。
批評・批判といった言論だと証明するのは、発言者の責任です。

■「最高裁があるじゃないか! 高裁差し戻しだ! 反訴しろ!」
最高裁は憲法に絡まない限り、受理してもらえません。今回の件では不受理はほぼ確定でしょう。
高裁差し戻しの可能性はひじょうに低いのはひろゆきも承知で、だから、最高裁にもっていこうとしています。
反訴についても、誰を訴えるかという特定が困難。これまた不受理。

199 :デフォルトの名無しさん:03/01/10 12:43
Yahoo!トピックス

2ちゃんねるがアクセスログ記録を始めましたが、あなたの考えは?
2003年1月9日より 計180票

匿名性に絡む問題なので反対 32% 58 票
サイトのためになるから賛成 50% 90 票
利用しないから関係ない 8% 15 票
2ちゃんねるってなに? 3% 6 票
アクセスログってなに? 6%



200 :デフォルトの名無しさん:03/01/10 15:04

あげる方だけどあげたくないので行かない方

201 :デフォルトの名無しさん:03/01/10 16:32

君は結構面白い発言をするね。
日本語ワカリマスカ?


西の所へ逝け

202 :デフォルトの名無しさん:03/01/10 18:52
ソケットをリード/ライトする時、標準入出力系の関数使ってる人いる?
もしいたら使っていて困ったことがあった場合とか知りたいんだけど教えてくれない?

203 :デフォルトの名無しさん:03/01/10 19:03
inetd 起動するプログラムを調べてみたら?

204 :デフォルトの名無しさん:03/01/10 19:23
UNIX流の、「sockhandleに直接write、readを発行するやりかた」、やないの?

205 :デフォルトの名無しさん:03/01/10 22:36
その、IPというものを僕に売ってください!!!!

206 :デフォルトの名無しさん:03/01/10 22:44
ヤフーが取り上げますた。
http://dailynews.yahoo.co.jp/fc/computer/2channel/

207 :デフォルトの名無しさん:03/01/11 00:03
俺は晒す自身がないな。。。

208 :デフォルトの名無しさん:03/01/11 00:11
ところで掲示板のS/N比が上がるように、との理由付けが成されているが、
IP記録されると明言されているにも関わらず糞スレは毎日嫌と言うほど立つよね。。

209 :デフォルトの名無しさん:03/01/11 09:34
我ながら好き勝手にほざいてしまいますた・・(汗
もし実現しても回線細そうですしね。。。



210 :デフォルトの名無しさん:03/01/11 09:34
嘘言うな!

211 :デフォルトの名無しさん:03/01/11 10:08
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数: 139038人 発行日:2003/1/10

なにやら、連日メルマガだしてるひろゆきです。

そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。

重くなって落ちたりしてもご愛嬌ってことで。。。

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────

212 :デフォルトの名無しさん:03/01/11 11:06
Wiinsockを使ってTCP/IPの非同期通信を行うC/Sプログラムで、
クライアントからサーバへconnectするときWSAAsyncSelectにFD_CONNECTを
指定してからconnectすると、接続に成功するとFD_CONNECTのイベントが
発生すると思いますが、サーバへ接続できなかった場合ってのはどうやって調べる
のでしょうか?connectを呼び出してからのタイムアウトの時間などを自分で設定し
時間内に反応が無ければ接続出来なかったと判断するしかないのでしょうか?

213 :デフォルトの名無しさん:03/01/11 11:14
312 :ひろゆき ◆3SHRUNYAXA :03/01/10 19:59 ID:jWxHxvti
全部にいれてみた。

http://qb.2ch.net/test/read.cgi/accuse/1042131034/312

前スレ
http://news2.2ch.net/test/read.cgi/newsplus/1042202364/

214 :デフォルトの名無しさん:03/01/11 12:17
1 :ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ :03/01/08 17:13 ID:???
   そんなわけで、qbサーバでIPの記録実験をはじめましたー。

11 :ひろゆき ◆3SHRUNYAXA :03/01/08 17:16 ID:rLfxQ17l
   全レスです。

22 :ひろゆき ◆3SHRUNYAXA :03/01/08 17:19 ID:rLfxQ17l
   家族構成と小学校時代の恥ずかしかった思い出も記録されます。

73 :ひろゆき ◆3SHRUNYAXA :03/01/08 17:27 ID:rLfxQ17l
   >ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
   ・今までより、サーバが重くなる。
   ・裁判所や警察からの照会があった場合にはIPを提出することがある。

   こんなところでしょうか。

89 :ひろゆき ◆3SHRUNYAXA :03/01/08 17:29 ID:rLfxQ17l
   >一般人からも見れるところ? 〉記録所
   既存のdatとは別に保存してるので、サーバがクラックされない限りはみれません。

   ただ、既存のdatと別なので、書きこみあたりの保存容量がほぼ2倍。


215 :デフォルトの名無しさん:03/01/11 12:50
わーい!期待しとくよ。

216 :デフォルトの名無しさん:03/01/11 15:39
なじぇ〜

217 :デフォルトの名無しさん:03/01/11 15:45
実行されたらネオ麦を超えるんじゃない?

218 :デフォルトの名無しさん:03/01/11 23:48
厨房板の荒らしは削除されたようだ
いつか全板で強制表示になるのだろうか?
スクリプトくめばどこの板だって荒らせるだろうし

219 :デフォルトの名無しさん:03/01/11 23:57
実際にある人物になんかあった場合、
その人物になんかしたい、と書き込んだ人間についての情報は
おれがもし警察だったら、一応知ろうと努力はする。
なかにはそうとうエグいのもあるし。

220 :202:03/01/12 01:46
>>204
標準入出力系だとバッファリングしてくれるので、自分でやるよりそういう
ライブラリのほうがこなれてるだろうって思って。
ただそれが悪く働くこともあるかなと。で実際にそういう経験をした人がいたら
はなし聞いてみたいと思ったの。

221 :デフォルトの名無しさん:03/01/12 01:51
バッファリングってことは
read()/write()じゃなくてfread()/fwrite()の話か?
そういう使い方は見たことないなー

222 :デフォルトの名無しさん:03/01/12 02:15
スポ2鯖だけはIP非保存だったりする。

223 :デフォルトの名無しさん:03/01/12 09:50
【予告】小学生の登校を狙って・・・

1 名前:キラー ◆cbkujpH7is [] 投稿日:03/01/08 23:10 ID:gsrD4Baw
明日の朝、登校途中の小学生を狙って大量殺人を実行します。実際
には大量とは言っても、刺せるのは15人程度、即死や死亡は10人程
度になってしまうとは思うけど。
住んでるのが北陸なので、適当に車で目標となる場所を探します。
その前に、車で小学生に突っ込むことも計画してます。
目的?そんなものなんかないよ。
人はいつかは死ぬんだ。ちょっと早いかどうかの差だろ?
人の死を作り出せる人は神である。俺は神になるよ。

224 :デフォルトの名無しさん:03/01/12 09:52
ふぁーすと
せかんど
さーど
ふぉんど
ふぁいぶんど

225 :デフォルトの名無しさん:03/01/12 12:27
>>221
Winsockしか知らないんだね。
Unix系だとfdopen(3)でソケットも使える。

なんか前にも似たような話題出てたな〜

226 :デフォルトの名無しさん:03/01/12 13:59
>225
Winsock知らないんだね。

227 :202:03/01/12 14:03
>>221
>>225

ごめんターゲットの処理系書いてなかったね。
そうUNIX系です。

228 :デフォルトの名無しさん:03/01/12 20:19
>>226
WinSockのsocket handleでfdopen() or 類似の事できたっけか?
ReadFile(), WriteFile()は使えるけどさ。

229 :デフォルトの名無しさん:03/01/12 20:37
1人のヤブ医者発言に毎回400万円払えるか?
2ちゃんを残すだけでもひろとしは偉いと思うよ。
まぁ、それだけ儲かるのかも知れないが。

230 :デフォルトの名無しさん:03/01/12 21:58
>>220
Cでは、fdopenしてstdioを、C++では、fstreamしてiostreamを、
socketに対して普通に使っています。バッファリングもいいけど、
フォーマッティングで、sprintfやstrstream使わないですむから楽。
C++はiteratorも使えるし。

231 :デフォルトの名無しさん:03/01/12 22:02
>>195
ACE本出てるじゃん。C++ in depthシリーズで。

232 :デフォルトの名無しさん:03/01/12 22:54
Winsockを使って特定のポートに来るパケットを盗み見るためには、
どうすればよいのでしょうか?


233 :デフォルトの名無しさん:03/01/12 23:26
   ,.´ / Vヽヽ
    ! i iノノリ)) 〉
    i l l.´ヮ`ノリ <先生!こんなのがありました!
    l く/_只ヽ    
  | ̄ ̄ ̄ ̄ ̄|
http://muryou.gasuki.com/saitama/

234 :デフォルトの名無しさん:03/01/13 02:00
>>232
盗み見るも何も、ポートあけて受信しろ

235 :デフォルトの名無しさん:03/01/13 10:43
>>231
本が出てるのはわかった。で、あんたの感想・使用感は?ぷりーず。

236 :デフォルトの名無しさん:03/01/13 22:13
その具体的な理由として社長は、こう話す。
「2ちゃんねるはボランティアの削除人が書き込みをチェックして、
好ましくない書き込みを一所懸命削除している、
ということになっているが、あれはウソ。
削除人には給料が支払われ、その給料の原資となっているのが、
まずいことを書き込まれた企業が削除要求とともに渡す裏金。
これはまさに、総会屋の構図そのものだ。
これまで裁判になっているのは金額で折り合えなかったり、
裏金を出さない強い態度の企業とだけだ」


237 :デフォルトの名無しさん:03/01/14 22:03
>>228
ReadFileできるってことは
_open_osfhandleでいけるんじゃないの

238 :デフォルトの名無しさん:03/01/14 22:15
>>232
http://winpcap.polito.it/

239 :デフォルトの名無しさん:03/01/15 11:34
>>235
良く出来ているけど、うざい。
結局自分でclassを書いた。かなり参考になった。いじょ

240 :山崎渉:03/01/15 17:51
(^^)

241 :デフォルトの名無しさん:03/01/16 19:05
UNIXネットワークプログラミングを組んでるのですが、
現在
/*-------------------------------include-------------------------------*/
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>



/*-------------------------------define--------------------------------*/
#define PORT 8765

main()
{
/*------------------------------変数---------------------------------*/
int fd;//ファイルディスクリプタ
int ret;//readの返し値

struct sockaddr_in addr;//サーバー構造体

char buf[1024];

fd_set r_fd;



242 :241:03/01/16 19:06
/*----------------------通信相手(サーバー)のアドレスを設定---------*/
bzero((char *)&addr, sizeof(addr));
addr.sin_family = AF_INET;
addr.sin_port = htons(PORT);
addr.sin_addr.s_addr = inet_addr("IPアドレス");

/*----------------------------接続-----------------------------------*/
fd = socket(AF_INET, SOCK_STREAM, 0);
connect(fd, (struct sockaddr *)&addr, sizeof(addr));


243 :241:03/01/16 19:08
/*----------------------------セレクトの設定-------------------------*/
FD_ZERO(&r_fd);//r_fdを初期化
while (1) { //メインループ
FD_SET(0, &r_fd);//キーボードをr_fdに追加
FD_SET(fd, &r_fd);//fdをr_fdに追加

select(fd+1, &r_fd, NULL, NULL, NULL);

/*-------------------------キーボードからの読み込み-----------------*/
if(FD_ISSET(0, &r_fd)){
memset(buf, 0, sizeof(buf));
ret = read(0, buf, 100);
write(fd, buf, ret);
}



244 :241:03/01/16 19:09
/*--------------------------サーバーからのデータ受信-----------------*/
if(FD_ISSET(fd, &r_fd)){
memset(buf, 0, sizeof(buf));
ret = read(fd, buf, 100);

if(ret == 0){
break;
}
/* コンソールへの出力 */
write(1, buf, ret);
}
}
close(fd);
exit(0);
}
こんなかんじのプログラムを組んでみたのですが、ここからゲーム部分に移るべく現在拡張子が.cなのですが
.cppに変えたいのですが、そうするとinet_addr();read();write();close();でコンパイルエラーが
出てきてしまうのですが、代わりになるような関数ってありますか?それとも大幅に変更を変える必要
が出てくるのでしょうか?

245 :デフォルトの名無しさん:03/01/16 19:20
プロトタイプ宣言がないってエラーでしょ?
man 2 write もしくは man -s 2 write
などとやって、その関数に必要なヘッダを include してるか、
確認してみては? たぶん、#include <unistd.h> あたり...

てーか、なんか、それ以前に根本的なスキル上の問題を感じるんだが...

246 :241:03/01/16 20:22
>>245
サンクス。無事コンパイル通りました。
スキルあったら一々聞いたりしてないから触れないで

247 :デフォルトの名無しさん:03/01/16 21:46
cygwinのおかげで、gccだとUNIXネットワークプログラム
ちょうど、上の奴みたいのはコンパイルできるのですが、
諸事情で、bccでコンパイルする必要があるのですが、
可能ですか?

248 :247:03/01/16 21:57
sys/socket.hとかのヘッダーファイルを
bccのincludeフォルダに読み込ませればできるのでは、
と勝手に思ってるんですけど、そもそも検索しても
そのヘッダーファイルらがひっかからなかったんで、
どなたか、教えてください。

249 :デフォルトの名無しさん:03/01/16 22:39
ヘッダファイルは魔法でもおまじないでもないんですから、それだけじゃ無理ですな
ちゃんとbccで動作するように作りましょう。

250 :デフォルトの名無しさん:03/01/17 01:31
recvでデータ受信しているのですが、受信終了時に
返り値として0が返されますが、この0が返されるまでの
時間が長すぎて困っています。

例えば、2ちゃんねるのこの板のsubject.txtを読み終わるまでに
実際のデータはすぐに読み込めるのですが、0が返されるまでに
10秒くらいかかります。
この時間を短縮する方法はありませんか?

251 :250:03/01/17 01:32
環境はWindowsでWinsock2.2を使用しています。

252 :デフォルトの名無しさん:03/01/17 01:37
> 受信終了時に返り値として0が返されますが

そうだっけ?

253 :デフォルトの名無しさん:03/01/17 02:08
>250
RFC2616を読みなさい

254 :253:03/01/17 02:08
persistent connectionのところね

255 :デフォルトの名無しさん:03/01/17 08:25
スレ違いだと思いますが教えてください。
プログラムは今までやったことがないのですが、
この間C言語入門という本を買ってきて一通り読み理解しました。
そこで無謀にもネットワークプログラムなんか面白そうだなと
思って、図書館でリチャードスティーブンスという人の
unixネットワークプログラム という本を借りてきたのですが、
少し読んでみたのはいいですが、何がかいてあるのかさっぱり
わかりませんでした。

そこで、また本屋にいって初級よりちょっと上のレベルの本を
読んでみたのですが、このネットワークプログラムの本を理解
するほどの内容が書いてありませんでした。このネットワークプログラム
を理解するにはどのような本を読めば理解できるのでしょうか?
Cを勉強して半年ですが、がんばって理解したいと思うので
マジレスお願いします。

256 :デフォルトの名無しさん:03/01/17 09:54
>>255
1.Linux,FreeBSDなどでWebサーバをたててみる。
2.ファイアウォールの設定をする。
3.パケットキャプチャーして眺めてみる。
4. 1でたてた鯖のアクセス数が10000HITいく頃には読めるようになってる。

257 :デフォルトの名無しさん:03/01/17 10:44
>>255
サーバとホストの違いを把握する

258 :デフォルトの名無しさん:03/01/17 11:02
httpサーバーを動かしているPCで、他のサイトを見ると、
サーバーがサーバーを見ていることになりホストがなくなる。
ホストは必須ではない。

またWindowsのファイル共有では勝手にホストがサーバーに変わったり
サーバーがホストに変わったりする。

259 :デフォルトの名無しさん:03/01/17 11:03
志が高いようだから、この本から勉強し直せ。

TCP/IPによるネットワーク構築〈Vol.1〉原理・プロトコル・アーキテクチャ
Douglas E. Comer (著), 村井 純 (翻訳), 楠本 博之 (翻訳)
http://www.amazon.co.jp/exec/obidos/ASIN/432012054X/

読了後、まだ橋渡しが欲しければ、
http://www.amazon.co.jp/exec/obidos/ASIN/4320028007/
http://www.amazon.co.jp/exec/obidos/ASIN/4894714671/
あたり。

続きは推薦図書スレで。

260 :デフォルトの名無しさん:03/01/17 11:10
>>257,258
(´-`).。oO(クライアントのことなのかな…

(・∀・)イズレ ニセヨ >>258ハ アフォ!
client/serverは、マシンだけに有効な概念ではない。
Network entityという概念を理解せよ。



261 :デフォルトの名無しさん:03/01/17 18:29
UNIXネットワークプログラミングで組んだサーバーと
Winsockで書いたクライアントで通信ってできますか?
UNIX..でクライアントも書いたのですが、bccでコンパイルが
通らなかったので。。
gccはcygwinを入れたときに入ったのでUNIXプログラムもコンパイルできるのですが、
素直にWinsockでクライアントを書くのと、bccでこのプログラムを
コンパイルできるようにするのと、どっちが楽ですかね。
正直、あんまり時間ないので短時間でできる奴のほうがいいのですが。。

262 :デフォルトの名無しさん:03/01/17 18:51
「そのためのTCP/IPです」

263 :261:03/01/17 19:16
>>262
つまりできるってことでよろしいですよね?

264 :デフォルトの名無しさん:03/01/17 19:27
>263
LinuxのApacheにWindowsのIEで観覧できますか?と同じような話かと

265 :デフォルトの名無しさん:03/01/18 01:01
>>261
既にCygwinのgccで通るプログラムがあるならそのままやる方が
楽は楽だろうけど、作ったプログラムを配布しようと思ったら
cygwin1.dllも配布しなきゃとかGPLだから〜とかあるんで、最終的
にどっちでやるかは自分で判断しる。

266 :デフォルトの名無しさん:03/01/18 01:12
> GPLだから〜

詳しくないんだがcygwin関連でそういう制約あったっけ?

267 :デフォルトの名無しさん:03/01/18 01:46
/*--------------------------WinSockの初期化を行う----------------------------*/
wVersionRequested = MAKEWORD(2, 0); //バージョン 1.1 を要求する
nErrorStatus = WSAStartup(wVersionRequested, &wsaData);

if (atexit((void (*)(void))(WSACleanup))) {//終了時にWinSockのリソースを解放するようにしておく
fprintf(stderr,"atexit(WSACleanup)失敗\n");
exit(-1);
}
if ( nErrorStatus != 0 ) {
fprintf(stderr,"WinSockの初期化失敗\n");
exit(-1);
}

/*-----------------------sdにソケットを作成します----------------------------*/
sd = socket(PF_INET, SOCK_STREAM, 0); //TCPで通信
if(sd == INVALID_SOCKET){
fprintf(stderr,"ソケット作成失敗\n");
}

268 :デフォルトの名無しさん:03/01/18 01:47
/*----------------------------サーバの設定-----------------------------------*/
sv_sockaddr.sin_family = AF_INET;//インターネットの場合
sv_sockaddr.sin_addr.s_addr = inet_addr("169.254.185.85");//サーバのIPアドレス
sv_sockaddr.sin_port = htons(PORT);//ポート番号
memset(sv_sockaddr.sin_zero,(int)0,sizeof(sv_sockaddr.sin_zero));

/* 指定のソケットでサーバへコネクトします */
if(connect(sd,(struct sockaddr *)&sv_sockaddr,sizeof(sv_sockaddr)) == SOCKET_ERROR){
fprintf(stderr,"サーバへの接続失敗\n");
}

FD_ZERO(&r_fd);//r_fdを初期化
while(1){
FD_SET(0, &r_fd);//キーボードをr_fdに追加
FD_SET(sd, &r_fd);//fdをr_fdに追加

select(sd+1, &r_fd, NULL, NULL, NULL);

if(send(sd, buf, lstrlen(buf), 0) == SOCKET_ERROR){
fprintf(stderr,"サーバへの送信失敗\n");
}

if(FD_ISSET(0, &r_fd)){
memset(buf, 0, sizeof(buf));
fgets(buf, RECVSIZE - 1, stdin);
send(sd, buf, lstrlen(buf), 0);
}

269 :デフォルトの名無しさん:03/01/18 01:47
if(FD_ISSET(sd, &r_fd)){
memset(buf, 0, sizeof(buf));
buf_len = recv(sd, buf, RECVSIZE - 1, 0);

if(buf_len == 0){
break;
}
buf[buf_len] = '\0';
printf("%s",buf);
}



if (buf_len == SOCKET_ERROR ){
fprintf(stderr,"サーバからの受信失敗\n");
}else{
buf[buf_len] = '\0';/* 受信したバッファの後ろにNULLを付加する */
}
}
closesocket(sd);
exit(0);
}

270 :デフォルトの名無しさん:03/01/18 01:50
こんなプログラムを組んだのですが、コネクトした時点ですでに
bufにゴミみたいのがまざってしまうのですが、何故でしょうか?
ちなみに、間違ってip書いちゃったけど、気にしないでください。。

271 :デフォルトの名無しさん:03/01/18 04:50
connectした時にすでにおかしいと言いながら全文載せるとは何事か

272 :デフォルトの名無しさん:03/01/18 04:58
>>270
なんかめちゃくちゃだよ?
selectの後のsendは何?
if (buf_len == SOCKET_ERROR ){
fprintf(stderr,"サーバからの受信失敗\n");
}else{
buf[buf_len] = '\0';/* 受信したバッファの後ろにNULLを付加する */
}
の場所はそこなの?

273 :デフォルトの名無しさん:03/01/18 16:22
>>266
cygwin1.dllはGPL。
続ける場合はGPLスレかUnix板のCygwinスレにでも移動して。

274 :デフォルトの名無しさん:03/01/18 16:41
>>270
WinSockで

FD_SET(0, &r_fd);
select(sd+1, &r_fd, NULL, NULL, NULL);
if(FD_ISSET(0, &r_fd)){
 memset(buf, 0, sizeof(buf));
 fgets(buf, RECVSIZE - 1, stdin);
 send(sd, buf, lstrlen(buf), 0);
}

これ(標準入力をselectで待つ)できたっけ?
Cygwinのgccならその辺エミュレートしてるから動くだろうが、その場合
WSAStartupとかやる必要ないし。なんかUnix流のやり方とWinSockの
やり方がごっちゃになってるような…

275 :デフォルトの名無しさん:03/01/18 22:22
>>274
できない(WSAENOTSOCKを食らう)

276 :デフォルトの名無しさん:03/01/19 14:44
ファイルをHTTPで転送するルーチン作ったんだけど、
ファイルをすべて on memory でもっていて転送したとしても、
TransmitFile を使って行うファイル転送にかなわない。
(両方の場合も非同期転送でやってます。)

どうしてこんなに効率いいんだ? > TransmitFile
どんな魔法を使っているんだYO
おまえら、TransmitFileに自作転送ルーチンで勝てた人いらっしゃいますか?


277 :デフォルトの名無しさん:03/01/19 15:15
ダブル バッファリングを行わずに、ディスクからファイルを直接転送します。

278 :デフォルトの名無しさん:03/01/19 15:45
ユーザーランドへのコピーが一度でも起こると
パフォーマンス的には厳しい。
linuxにもsendfileってのがあるね。

279 :278:03/01/19 16:58
>>277
転送したい内容は既にメモリ上でもっているんですが(w

>>278
そうですねよ。。。
究極の回答はLANのデバイスドライバ作ってそこにファイル転送ルーチン仕込めということなのでしょうか?
それともユーザランドでカーネルレベルでのメモリ確保を行って、
そこから転送すればよいのでしょうか? それができるかどうかはなぞですが(w


280 :278:03/01/19 16:59
>>279
あう、間違えた 276 です。ごめんなさい。
鬱だ、気晴らしに sim city4でもやろう

281 :デフォルトの名無しさん:03/01/19 17:02
> それともユーザランドでカーネルレベルでのメモリ確保を行って、
> そこから転送すればよいのでしょうか?

つまるところそれを肩代わりするのがTransmitFileやsendfile
なのでは?

282 :デフォルトの名無しさん:03/01/19 17:19
>>276
非同期転送って、WriteFileExやWSASendのコールバックでやってる?
それで負けるんならお手上げだよなぁ・・・。

283 :デフォルトの名無しさん:03/01/19 17:41
HTTPで、BODYだけGETする方法ってありますか?

284 :デフォルトの名無しさん:03/01/19 17:44
GET / HTTP/0.9

285 :デフォルトの名無しさん:03/01/19 17:49
>>284
0.9でBODYだけ取得できるのは知ってましたが
それって問題無いんですか?

286 :デフォルトの名無しさん:03/01/19 17:58
いや・・・0.9をサポートしてるかどうかを心配したほうが・・・

287 :276:03/01/19 19:44
>>282
WSASendの非同期でやっています。
Athlon1G Memory512MB の環境で150KB程度のファイルを転送させて、
apache benchで 5クライト1000アクセスで測定した結果、
TransmitFileと自作の転送ルーチンの差が 秒間10アクセス程度の差がでています。


288 :282:03/01/19 23:59
>>287
いや、重複I/Oでもイベント使うのとコールバックの二種類あって、
イベントの方だとWaitFor〜のオーバーヘッド分遅いだろうなって思って。

289 :デフォルトの名無しさん:03/01/20 10:40
>>288

FAQだけど、socket buffer は大きくしてる?
http://www.asahi-net.or.jp/~vz4h-sruz/memo/ffftp-hack.html
とかが参考になるかも。

290 :276:03/01/20 20:54
>>289
知りませんでした(w
で、やってみました。
転送レートが 秒間3〜10ぐらい伸びました。感動しました。

で、結果からなんですが、転送レートにばらつきがあるのが疑問点です。
自宅LANなので他人が回線を使っているわけでないのでほぼ一定でなければおかしいような気がします。
そーゆーものなんでしょうか?

気づいたことは、
通常は 75〜85% ぐらいの負荷なのですが、
転送率が良くなるときにきまってサーバの CPU使用率が 100%振り切っています。

何かOS側、もしくはLANカードのドライバ(カニさん(w) が関係しているのでしょうか。
もう少し検証してみます。。。


291 :デフォルトの名無しさん:03/01/20 22:59
カニさんは高負荷時に挙動不審になるとか
linuxのドライバ書きの外人がボヤいてた気がする

292 :デフォルトの名無しさん:03/01/20 23:19
どこでCPU使ってるのか、profileしてみたら?

293 :デフォルトの名無しさん:03/01/20 23:43
カニさんは自作板で、叩かれてたような気がする

294 :デフォルトの名無しさん:03/01/21 10:26
カニって、CPUを使って転送するのか...

295 :デフォルトの名無しさん:03/01/21 11:54
カニってうまいよな。
あんなにうまくなければ乱獲されずに済んだのに。

296 :デフォルトの名無しさん:03/01/21 12:57
>>290

もし、TransmitFile の場合に、そういう現象が起きてないなら、
作りの問題かもね。
あらかじめ、ワーカスレッドを何十個か必要なだけ作っておいて、
accept後、そいつらに同期send+closeさせてみると多少マシになるかも?

297 :276:03/01/21 22:04
>>296
>もし、TransmitFile の場合に、そういう現象が起きてないなら、
>作りの問題かもね。
うわーん(w

>あらかじめ、ワーカスレッドを何十個か必要なだけ作っておいて、
>accept後、そいつらに同期send+closeさせてみると多少マシになるかも?
スレッドプールはすでに導入済みです。


298 :276:03/01/21 22:06
ネットワークとは関係ないですが、
ワークメモリを FileMapping してみたら、ちょっとだけ効率が上がりました。
カーネルに(近いレベルで)取得したメモリから
ソケット(カーネル)に書き出せるからかな?

昨日やった実験で少しパフォーマンスが向上したのでご報告。。。


299 :276:03/01/21 22:12
>カニさんは自作板で、叩かれてたような気がする
どこでもカニはたたかれますよね。
実は、転送効率を測定するためにベンチを走らせたり、
自作のクラッシャーで攻撃すると Windows OS 自体がクラッシュしたりする
なぞの現象になやんでいたりします。一説にはドライバがくさっているとか。。。

とりあえず、Intel のカード買ってくる予定です(w
これでダメならメモリがやばいかもしれない。。

プログラムと関係ないので sage

300 :デフォルトの名無しさん:03/01/21 22:22
その次はTransmitFileのような・・・

301 :デフォルトの名無しさん:03/01/22 00:30
>>276
ネットワークプログラムを最近始めたものですが、HTTP転送によるファイル転送(WebDAVじゃなく)を調べているのですが、参考にされたWebサイトありませんか?
また、TransmitFileはWin固有でしょうか?

302 :デフォルトの名無しさん:03/01/22 00:38
linuxにもあるよ。名前違うけど

303 :デフォルトの名無しさん:03/01/22 00:46
>>299
本当にドライバが腐ってるだけなら
とっくに誰かが安定したものに書き直してるでしょう
おそらく腐ってるのはドライバではなく仕様だと思われ

304 :デフォルトの名無しさん:03/01/22 00:46
mmapか。勉強になるのお。

305 :276:03/01/22 03:21
>>301
クライアント側でしょうか?
おいらはサーバ作っているんでちょっと違いがあるかもしれないけど、
とりあえず有名どころで、
http://www.studyinghttp.net/index.html
あとは、 RFC とか、そこら辺に転がっているソースとか、
高速化のところは apache2 とか参考にしています。

近々このソースも公開する予定なので、もしよろしければ参考にしてください(w


306 :301:03/01/22 10:04
>>305 私もC/Sで考えてます。ありがとう

307 :301:03/01/22 10:05
>>305 私もC/Sで考えてます。ありがとう

308 :301:03/01/22 10:10
>>305 私もC/Sで考えてます。ありがとう

309 :デフォルトの名無しさん:03/01/22 10:35
メモリ上の送信より、mmapの方が早いってのは、理屈から考えるとヘン。
(メモリがswap outされていたとか以外に考えにくい)
メモリを物理メモリにロックした場合と比較してみては?
あと、ソケットにTCP_NODELAY指定はしてあるんだっけ?

310 :デフォルトの名無しさん:03/01/22 11:25
>>309
メモリへ載せるための転送も計算に入れてる?

311 :デフォルトの名無しさん:03/01/22 12:06
>>309
速い時はCPU利用率が100%になっていると言っているのだから、
copy from memory to memoryがボトルネックになりつつあるのは明らかだが…

Libraryやkernelの中身まで考えたことないんだろうな、>>309は。
データのメモリアライメントも考えたことないのだろうし。

312 :デフォルトの名無しさん:03/01/22 12:14
そ、言えば、最近trailer protocolってあんまり聞かないね。
http://deesse.univ-lemans.fr:8003/Connected/RFC/1122/21.html
DMA転送する前にalignmentを調整する必要がないように考えられたのだが。

313 :デフォルトの名無しさん:03/01/22 12:25
>>311
>速い時はCPU利用率が100%
ってのは、ドライバがカニだからじゃないの?
よほど小さな単位でsendしてるのでないかぎり、
(普通にmalloc等で確保した領域を使っての)send部分が原因で
CPU使用率が100%になるなんて、見たことないけど?

314 :デフォルトの名無しさん:03/01/22 12:35
だからmallocでメモリ確保したらコピーが1回余計に増えるでしょ

315 :デフォルトの名無しさん:03/01/22 12:39
あれ?
今回は、ReadFile()の(mallocした領域への)読み込みは、起動直後に
完了していて、転送時の計測のカウントに入らないんじゃなかったの?

316 :デフォルトの名無しさん:03/01/22 14:05
socketへの書き込みから始って、networkに流れるまでにも、copyが行なわれる。
それを防ぐために、TransmitFileなんてものがある。

317 :デフォルトの名無しさん:03/01/22 14:17
>>316

通常のsocketの TCP->IP->Ether、なんてプロトコルスタックを下るような
動作をせずにショートカットしてるの?

ま、それはともかく、今は、mmap領域とmalloc(中身はGlobalAllocとかだ
よね?)領域を sendした場合の動作の違いについての話なので、
TransmitFileの話は無関係だよね?

318 :デフォルトの名無しさん:03/01/22 18:06
>>317
>>314は無視

319 :276:03/01/22 22:39
>>309
>あと、ソケットにTCP_NODELAY指定はしてあるんだっけ?
してません。
で、設定してみたところ、あんまりかわらないか、現状以下の数字しか出なかったです。

長いので次の書き込みでベンチを貼り付けます。



320 :276:03/01/22 22:40
指定あり
Document Length: 165142 bytes
Concurrency Level: 5
Time taken for tests: 187.694 seconds
Complete requests: 10000
Failed requests: 0
Broken pipe errors: 0
Total transferred: 1653547960 bytes
HTML transferred: 1651457542 bytes
Requests per second: 53.28 [#/sec] (mean)
Time per request: 93.85 [ms] (mean)
Time per request: 18.77 [ms] (mean, across all concurrent requests)
Transfer rate: 8809.81 [Kbytes/sec] received
Connnection Times (ms)
min mean[+/-sd] median max
Connect: 0 7 29.7 6 2948
Processing: 19 87 144.3 82 9093
Waiting: 18 86 144.3 82 9092
Total: 19 93 147.2 89 9106


321 :276:03/01/22 22:42
指定なし
Document Length: 165142 bytes
Concurrency Level: 5
Time taken for tests: 177.813 seconds
Complete requests: 10000
Failed requests: 0
Broken pipe errors: 0
Total transferred: 1653637020 bytes
HTML transferred: 1651546184 bytes
Requests per second: 56.24 [#/sec] (mean)
Time per request: 88.91 [ms] (mean)
Time per request: 17.78 [ms] (mean, across all concurrent requests)
Transfer rate: 9299.87 [Kbytes/sec] received
Connnection Times (ms)
min mean[+/-sd] median max
Connect: 0 8 3.5 7 24
Processing: 18 81 40.3 80 3103
Waiting: 17 80 40.3 80 3102
Total: 18 88 40.3 88 3113

あ、これは ab の結果です。。


322 :276:03/01/22 22:46
>>313
>よほど小さな単位でsendしてるのでないかぎり、
ソケットのバッファ長は伸ばしているので小さい値で send していないと思います。
それでも、 CPU 70〜80は余裕で行きます。

apache2も同じように CPU を使用するのでそーゆーものなのではないのでしょうか?
なお、IISは速度こそapache2と同じですが、CPU使用率が 50%前後という恐ろしい結果を
出してくれます。 ゲイツマジックの予感。


323 :デフォルトの名無しさん:03/01/22 23:29
>>322

指定なしの場合にすでに、ほぼ理論値近い値(NICはGbitとかじゃないよね?)
でてるから、いいんでないの?
CPU使用率問題は、ある程度はカニが原因っぽいから、NIC交換後に再計測
してみるとか。

324 :276:03/01/23 00:08
>>323
それが違うんです。。。

apache2 で同じファイルを転送したときの結果
Concurrency Level: 5
Time taken for tests: 159.725 seconds
Complete requests: 10000
Failed requests: 0
Broken pipe errors: 0
Total transferred: 1654330095 bytes
HTML transferred: 1651559264 bytes
Requests per second: 62.61 [#/sec] (mean)
Time per request: 79.86 [ms] (mean)
Time per request: 15.97 [ms] (mean, across all concurrent requests)
Transfer rate: 10357.36 [Kbytes/sec] received
Connnection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.3 0 11
Processing: 25 79 4.6 78 104
Waiting: 24 78 4.6 77 103
Total: 25 79 4.6 78 104

で、理論地をオーバーするような結果がえられるんですよ。。。なぞです。

325 :276:03/01/23 00:11
いまさらなんですが、さっきあらためて貼り付けたベンチを見て思ったんですが、

Connnection Times の値の max がオイラのやつはめちゃくちゃでかいですね。
min は apache2 より小さいのに何かある条件かでガクンとひっかかるような
処理が行われているような気がしていました。
ひとつ思い当たる節があるので調査してきまうす。


326 :デフォルトの名無しさん:03/01/23 01:30
>>324

>Transfer rate: 10357.36 [Kbytes/sec] received

のことだったら、理論値オーバーには、なってないよね。
100Mbps = 100000000bps = 12207KB
ヘッダその他、オーバーヘッドがあるから、これよりは若干落ちるけれど。

327 :デフォルトの名無しさん:03/01/23 04:22
>>326
理論値超えてるって。もうちょっとEthernetプロトコルのお勉強してから書き込もうね。

328 :276:03/01/23 08:02
とりあえず、成果物を公開します。。。
http://pc3.2ch.net/test/read.cgi/tech/1043275721/

いまだにカクと処理が落ちるなぞは良くわからないのですが、
ソースや作りたちものを出さずしてなかなか説明しづらいところがあるので、
αテストということで。。。

329 :デフォルトの名無しさん:03/01/23 09:51
>>327

超えてないよ。
>>327の理論値って幾つ?いってごらん。嗤ってやるから。

330 :デフォルトの名無しさん:03/01/23 11:51
>>327

余計な部分(file I/Oなど)を削ぎ落としての実測をしたことがない?

331 :デフォルトの名無しさん:03/01/23 13:13
>>328

とりあえず、アドバイスはこんな感じかな?

細かくWSASend()を発行しない。
(なるべく、ヘッダと本体をあわせて1回のWSASendで送ってしまう)

ソケットバッファを大きくすると、closesocket() でのバッファの
flush 完了待ちが長くなるので、ワーカスレッド側で、closesocket()
まで面倒を見る。

332 :デフォルトの名無しさん:03/01/23 13:30
>>331

mmap してる場合は、ヘッダとファイルデータを連続させることは難しいから、
WSASendでWSABUF配列を2つ以上並べる必要があるかもね。

333 :デフォルトの名無しさん:03/01/23 14:12
パケットUDPで他PCとデータをやり取りするソフトを作っているのですが
サーバー側はクライアント側からデータが来たってわかる方法はありますか?
recvfromでずっと待ってるわけにはいかないですよね?

334 :デフォルトの名無しさん:03/01/23 14:18
何故まっているわけにはいかないのか小一時間問いつめたい。

335 :デフォルトの名無しさん:03/01/23 14:44
スレッドを知らないからに1024パケット

336 :デフォルトの名無しさん:03/01/23 14:59
>>333

select か WSAAsyncSelect()を使う。

337 :デフォルトの名無しさん:03/01/23 15:11
>>334
アプリが固まるから
>>335
知らんから聞いてる
>>336
非同期って奴ですよね?
ちょっとためしてみます。

338 :デフォルトの名無しさん:03/01/23 15:13
スレッドを知らないレベルの人間に非同期処理を行わせるのと、
マルチスレッド+同期APIを教えるのはどちらが現実的なんだろうな。

339 :デフォルトの名無しさん:03/01/23 15:36
>>338
教える気がないカス野郎はとっとと首吊って下さい。ウザイです。

340 :デフォルトの名無しさん:03/01/23 15:45
>>339
教わる気がないカス野郎はとっとと首吊って下さい。ウザイです。

341 :デフォルトの名無しさん:03/01/23 16:14
頭がぬるぽなカス野郎はとっとと首吊って下さい。ウザイです。

342 :デフォルトの名無しさん:03/01/23 16:20
>>341 ガッ

343 :ネタニマジレス:03/01/23 16:26
>>339
質問所と相談室を混同するなよ。
スレルールのどこに 「ぼやき NG」 と書いてある?

344 :デフォルトの名無しさん:03/01/23 17:11
>>343
1をよく読みましょうね。
貴様みたいな馬鹿は字も読めないのですか?
ここに来る前に幼稚園から始めて下さい。

345 :デフォルトの名無しさん:03/01/23 18:11
>>344
> 貴様みたいな馬鹿は字も読めないのですか?
微妙な日本語・・・。

346 :デフォルトの名無しさん:03/01/23 18:19
>>343
つーか、お前の存在がネタだろ、負け犬(w

347 :デフォルトの名無しさん:03/01/23 18:29
>>346
正解

348 :山崎渉:03/01/23 19:58
(^^)

349 :343:03/01/24 13:53
ふ、漏れの崇高な精神はおまいらには理解できなかったようだな。

350 :デフォルトの名無しさん:03/01/25 01:08
ネットワークプログラムを今やるなら、CかC++のどちらを
やっていたほうがいいのでしょうか?

351 :デフォルトの名無しさん:03/01/25 01:12
そうだな、どっちかというとsocketかな。
javaや.netのはちょっと隠されすぎ。

352 :デフォルトの名無しさん:03/01/25 01:29
winsockでもエラーは負って決め打ちしてもいいの?

353 :デフォルトの名無しさん:03/01/25 01:30
ヘルプ読めませんか?

354 :デフォルトの名無しさん:03/01/25 03:30
>>350
ソケットの勉強をしたい  だ け  なら C でもいいと思われ。
それ以外なら C++ をお勧めします。

>>352
良くない。
詳しくは >>353 の言うようにヘルプを読んで下さい。


355 :デフォルトの名無しさん:03/01/25 07:33
結局BSDソケットプログラムは全面的に書きなおさないとwinsockへの移植は無理(逆も無理)
ってことですか。残念。

356 :デフォルトの名無しさん:03/01/25 08:14
>>349
理解できないので二度と来ないでください。

357 :デフォルトの名無しさん:03/01/25 09:14
>>354

今ならCよりC++を勉強したほうがいいんですね。
Cならリチャードスティーブンスのネットワークプログラム本が
ありますが、C++ではどの本がおすすめでしょうか?
本スレよりネットワーク専門でやってる人の方が詳しそうなので
教えてください、お願いします。

358 :デフォルトの名無しさん:03/01/25 10:13
推薦図書/必読書のためのスレッド PART 8
http://pc3.2ch.net/test/read.cgi/tech/1041595397/l50

359 :デフォルトの名無しさん:03/01/25 14:25
>>355
APIには互換があるのでソケット以外の部分の絡みでなければ
書き直す必要は無い

360 :デフォルトの名無しさん:03/01/25 16:09
>>357
はあ?「Cならリチャードスティーブンスのネットワークプログラム本がある」んなら
C++でも↑でいいじゃん。頭大丈夫?

361 :デフォルトの名無しさん:03/01/25 16:45
馬鹿が威勢のいいこといってるな藁


362 :デフォルトの名無しさん:03/01/25 16:50
(・∀・)ゲハハハ

363 :デフォルトの名無しさん:03/01/25 17:38
元気なのはいいことだ。それさえ無かったら、あいつはきっと
カマキリを食べてしまっていただろう。
さみしいような気もするけど、馬鹿って貴重なようでいて実は
そうではないのだ。というか工場は何処なのだろう? 止めろよ。

364 :デフォルトの名無しさん:03/01/25 17:39
百済ねえ事であげんなヴぉけ

365 :デフォルトの名無しさん:03/01/25 18:11
(・∀・)ゲハハハハ

366 :デフォルトの名無しさん:03/01/25 18:12
蟷螂ってうまいの?

367 :デフォルトの名無しさん:03/01/25 21:44
>>366
あるプログラムが動くかどうか判断するには→実際に動かす。

368 :デフォルトの名無しさん:03/01/25 23:07
>>367
目を離した瞬間、中の人が発狂するかも知れないわけだが。


369 :デフォルトの名無しさん:03/01/25 23:13
中 の 人 な ど い な い

370 :あるプログラムの中の人:03/01/25 23:28
発狂しそうです。。。

371 :デフォルトの名無しさん:03/01/26 00:50
俺の菊座も発狂しそうです。

372 :デフォルトの名無しさん:03/01/26 02:27
中の人があまりにたくさん発狂したのでニュースになりました。


373 :デフォルトの名無しさん:03/01/26 06:29
浣腸かってこようかなー

374 :デフォルトの名無しさん:03/01/27 11:52
>>360
アタマ大丈夫な人は2chで質問なんかしません。

375 :デフォルトの名無しさん:03/01/27 19:36
>>374

376 :デフォルトの名無しさん:03/01/28 03:51
localhostにUDPパケット投げる場合は、暗号化しなくても
既に汚染されている場合を除いて他のマシンに覗きみされる事はないですよね。

377 :デフォルトの名無しさん:03/01/28 07:01
>>376
まあそうだね。念の為、localhostの名前解決を自力で行えること
を保証できるように /etc/hosts に書くか(まともなら普通は書い
ていると思うけど)、127.0.0.1をじかに書いて解決の必要がないよ
うにしておく方がいいんじゃない。





104 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)