ネットワークプログラ ..
[2ch|▼Menu]
320:デフォルトの名無しさん
09/02/07 20:35:40
普通はそのインターフェースのプライマリアドレス

321:デフォルトの名無しさん
09/02/07 21:24:44
>>320
ちゃんとプライマリとか見てくれるのか
ありがとー


322:デフォルトの名無しさん
09/02/08 06:32:35
何でこの板IDないの?

323:デフォルトの名無しさん
09/02/08 07:49:43
紳士だからさ


324:デフォルトの名無しさん
09/02/08 09:44:13
変態という名の紳士

325:デフォルトの名無しさん
09/02/08 22:47:12
地震キタ

326:デフォルトの名無しさん
09/02/09 01:07:46
thread_Aにてepoll_wait中に、thread_Bからepoll_ctlで監視対象fdを操作(EPOLL_CTL_DELとか)しても、
即座にthread_Aで止まってるepoll_waitは反映してくれない?

というか、epoll_fdに対しての非同期操作は自分で排他処理しないとダメ?

327:デフォルトの名無しさん
09/02/10 10:50:58
>>320
まともなOSならそんなことしない。
インターフェイスへの複数アドレス付与を、付け焼刃で実装したOSならあるかもしれんけど。

>>321
そのホストのルーティングテーブルを参照して、接続先アドレスに到達可能な最小コストのルートを選択して、
接続元とするアドレスが決められる。
インターフェイスAに、10.0.0.1/24と、192.168.0.1/24が振られてて10.0.0.1がプライマリだったとしても、
192.168.0.2に接続するときには、192.168.0.1がsourceとして使われる。


328:デフォルトの名無しさん
09/02/10 11:25:55
んー
同じセグメントのIPが複数振られてたらどっちが使われる?

329:デフォルトの名無しさん
09/02/10 11:26:06
プログラム言語はなぜ「言語」と呼ばれるのでしょう?
通常使っている言語とどのような共通点があるか?
またどのような相違点があるか?

という問題を誰か教えてくれませんか?

330:デフォルトの名無しさん
09/02/10 11:40:40
>>329
ウィキペれ。

331:デフォルトの名無しさん
09/02/10 11:43:37
ウィキにのってないポ(;・∀・)

332:デフォルトの名無しさん
09/02/10 11:45:36
>>328
>>327に書いてあるでしょ。

333:デフォルトの名無しさん
09/02/10 13:56:50
>>332
同じインタフェースに 192.168.0.1/24 と 192.168.0.2/24 が振られているときに
192.168.0.254 に接続したらどうなるか、って話でしょ。>>327には書いてないと思うが。

Linuxの場合、ソースをチラ見しただけだがプライマリを使うようになってる
っぽいな。明確な仕様なのかはよく知らないけど。


334:デフォルトの名無しさん
09/02/10 22:47:46
質問です。

UDPソケットでrecvした時に複数のパケットがくっついて読み込まれる事ってありえますか?

335:デフォルトの名無しさん
09/02/10 22:53:52
あり得ません。



336:デフォルトの名無しさん
09/02/10 23:00:45
>>335
ありがとうございました

337:デフォルトの名無しさん
09/02/10 23:01:28
おい、誰の発言かわからん一言を、そんなに簡単に信じちゃうのかよ。

338:デフォルトの名無しさん
09/02/10 23:18:03
>>337

339:デフォルトの名無しさん
09/02/10 23:27:58
本当はどうなんでしょうか?

340:デフォルトの名無しさん
09/02/10 23:32:09
わかりません

341:デフォルトの名無しさん
09/02/10 23:36:14
>>339 RFC 読めばええんちゃう?


342:デフォルトの名無しさん
09/02/11 00:01:12
普通にありえる。

343:デフォルトの名無しさん
09/02/11 00:08:08
OSのバグみたいな、よっぽどのことがない限りないでそ。

344:デフォルトの名無しさん
09/02/11 00:08:56
OSと何の関係が

345:デフォルトの名無しさん
09/02/11 00:12:19
UDPソケットって何?

346:デフォルトの名無しさん
09/02/11 00:17:01
そう来ますか

347:デフォルトの名無しさん
09/02/11 00:21:59
343じゃないが、
>>334は「recv」と書いており、これはOSのAPIと理解できる。
UDPのRFCでは、OSのAPIの事は、

User Interface
--------------
A user interface should allow

the creation of new receive ports,

receive operations on the receive ports that return the data octets
and an indication of source port and source address,

and an operation that allows a datagram to be sent, specifying the
data, source and destination ports and addresses to be sent.

しか規定しておらず、複数のパケットを一つにまとめてrecvするOSがあってもよい。
ただし実際そういうAPIを持つOSはいまだかつて見たことがないが。

以上のことはRFCを読んだことがある人間には常識なので、
>>344は読んだことがないのだろう。

上に書いたような意味において、>>334への返答は「あり得ません。」
この返答で正しい。

348:デフォルトの名無しさん
09/02/11 00:22:18
IEEE Std 1003.1, 2004

recvのDescriptionから
>For message-based sockets, such as SOCK_DGRAM and SOCK_SEQPACKET,
>the entire message shall be read in a single operation.

349:デフォルトの名無しさん
09/02/11 00:27:18
で、このshallはもちろん仕様書に良くある強制のshallなので、
パケットを纏めてしまうと、すくなくとも、POSIXは満たさなくなる。

>shall
>For an implementation that conforms to IEEE Std 1003.1-2001,
>describes a feature or behavior that is mandatory.
>An application can rely on the existence of the feature or behavior.

350:デフォルトの名無しさん
09/02/11 00:27:19
最初から書いとけ馬鹿

351:デフォルトの名無しさん
09/02/11 01:29:43
みなさん、ありがとうございました

352:デフォルトの名無しさん
09/02/11 03:41:46
何に対して礼を言っているのだ

353:デフォルトの名無しさん
09/02/11 03:42:37
始めてみようかと思うんですが。
まずなにからすればいいんでしょうか?
ダイアログにWebBrowserコントロールを張り付ければいいんですか?


354:デフォルトの名無しさん
09/02/11 03:43:12
>>352
みなさん ではないんでしょうか?

355:デフォルトの名無しさん
09/02/11 10:16:31
>>353
スレ違い。

356:デフォルトの名無しさん
09/02/11 10:38:13
>>347-349
力抜けよ

357:デフォルトの名無しさん
09/02/11 11:20:27
アッー!

358:デフォルトの名無しさん
09/02/11 17:23:26
なんだこの流れは…たまげたなぁ

359:デフォルトの名無しさん
09/02/11 21:00:32
>>353 はもっと評価されていい。

>始めてみようかと思うんですが。
何をだ!?と思った次の瞬間、

>まずなにからすればいいんでしょうか?
いや知らんがなー!と突っ込まずにはいられない。

360:デフォルトの名無しさん
09/02/12 01:38:36
神との対話を見た

361:デフォルトの名無しさん
09/02/12 09:32:53
どこに書けばいいのかわからないので、お手数ですが。
Rubyで書いた、ウェブページとそこのリンク先を取り込むスクリプトを
動かしていたら途中でconnect refusedになって以後つながりません。
"www.linux.org"だったんですけど、他では問題ありません。
図書館でやっても途中で切れました。
某図書館では"www.linux.org"につながらなくなっているかもしれませんゴメンナサイ。
いったいどうゆうことなんでしょうか。
なにが気に入らなかったんでしょうか。
まる二日たちますが、接続拒否は解除されるんでしょうか。

362:デフォルトの名無しさん
09/02/12 10:45:59
>>361
一度に多接続すると制限されることはあるね。
どれくらいの期間制限されるかはサイトのポリシーだから一概には言えないね。

363:デフォルトの名無しさん
09/02/12 13:50:33
接続拒否されるってどんなスクリプト流したんだよ・・・

364:デフォルトの名無しさん
09/02/12 14:25:13
既存サイトを攻撃してはいけません

365:デフォルトの名無しさん
09/02/12 15:22:03
一度でも攻撃受けたとこはこの辺厳しい

366:デフォルトの名無しさん
09/02/12 15:26:12
なんて迷惑な奴

367:デフォルトの名無しさん
09/02/12 19:14:35
お約束ですが
通報しました

368:デフォルトの名無しさん
09/02/12 20:17:07
URLリンク(www.itmedia.co.jp)

369:デフォルトの名無しさん
09/02/12 20:20:41
IPアドレスを取得まではできたのですが、
取得したIPアドレスを利用して「ping」をうちたいのですが
どうしたらpingをうつプログラム書けますか?
手順を教えてください(ex 関数などを)

370:デフォルトの名無しさん
09/02/12 20:29:12
使ってる言語くらい書け。

371:デフォルトの名無しさん
09/02/12 20:50:31
C言語です。

372:デフォルトの名無しさん
09/02/12 22:04:37
ping()

373:デフォルトの名無しさん
09/02/12 22:20:59
なんで途中までは出来た、みたいな言い方になってんだ

374:デフォルトの名無しさん
09/02/12 22:57:05
>>369 ping したいんだけだたら system("ping ...")


375:デフォルトの名無しさん
09/02/12 23:26:29
おまいら、理解力の無い俺に救いの手を・・・

ルータ越しにサーバーとクライアントのプログラムを走らせるとして、
サーバーをSourcePort10000で立ち上げる。
クライアントをSourcePort5000、DestinationPort10000でサーバーに接続する。

この場合、サーバー側のポート10000を空けないと接続できないんだけど、
クライアント側はポートを空けなくても送受信できちゃいます。
なんでなの?(´・ω・`)

376:デフォルトの名無しさん
09/02/12 23:29:40
インバウンドしかブロックしないファイアーウォールなんだろ

377:デフォルトの名無しさん
09/02/12 23:33:44
>>375
> サーバーをSourcePort10000で立ち上げる。

SourcePort→AcceptPort

378:デフォルトの名無しさん
09/02/12 23:37:00
>>376
クライアントは受信もできちゃうんだけど
そゆものなの?(´・ω・`)

>>377
AcceptPortだったか
ありがとうございます。

379:デフォルトの名無しさん
09/02/12 23:57:36
>>378
そゆものでしょ

380:デフォルトの名無しさん
09/02/13 01:01:06
>>379
そんなのいやだぁぁぁ
ちゃんと理解したいぃぃぃ

なんでポート開いてないのに受信できるの!

( ゚д゚)<誰かぁぁぁぁ

381:デフォルトの名無しさん
09/02/13 01:18:21
>>380
ファイアーウォールは外向きのパケットが通るとその発信元ポート、アドレス、
及び通信先ポート、アドレスの4組の情報を「セッション」として覚える。
パケットが帰って来るとそのセッションに当てはめ、一致するセッションがあれば
通してあげる。

382:デフォルトの名無しさん
09/02/13 01:32:24
SPI

383:デフォルトの名無しさん
09/02/13 01:39:11
>>381
おー、そうなのですか
だからサーバーはポート開けないとダメなのかー
理解できますた。
分かりやすい解説ありがとうございましたヽ(´ー`)ノ

>>382
SPIググってみました。
Stateful Packet Inspection
これか、これなのか!
勉強になりますたヽ(´ー`)ノ


384:デフォルトの名無しさん
09/02/13 15:31:17
ヽ(´ー`)ノヽ(´ー`)ノヽ(´ー`)ノヽ(´ー`)ノヽ(´ー`)ノ

385:デフォルトの名無しさん
09/02/13 20:54:37
無免許でのネットワークプログラミングは処罰の対象ですよ。

386:デフォルトの名無しさん
09/02/13 20:57:16
また大阪か

387:デフォルトの名無しさん
09/02/13 21:38:50
ネットワーク従事者の許認可は逓信省電波管理局の管轄です

388:デフォルトの名無しさん
09/02/14 10:16:09
免許は逓信大臣が交付じゃね?

389:デフォルトの名無しさん
09/02/14 10:28:44
情報処理技術者試験 (ネットワーク) は、橋本龍太郎 通産大臣 (当時) だったな。

390:デフォルトの名無しさん
09/02/14 23:35:59
高負荷になるとrecvがECONNRESETを返すようになってしまいます。
なにか心当たりがある方いらっしゃいますか?

391:デフォルトの名無しさん
09/02/14 23:38:14
>>390
リモートのホストに聞いてください。

392:デフォルトの名無しさん
09/02/14 23:41:18
「おらくたびれただよ、ちょっと休ませてくれかの?」

393:デフォルトの名無しさん
09/02/15 00:50:10
>>391

リモートのホストもこちらの制御下なのですが。。


394:デフォルトの名無しさん
09/02/15 00:50:39
じゃあ聞けよ。

395:デフォルトの名無しさん
09/02/15 00:50:59
どうやって制御してるの?

396:デフォルトの名無しさん
09/02/15 01:21:34
>>395
リモートのホストに聞いてください。


397:デフォルトの名無しさん
09/02/15 01:23:55
>>396
ちがう。

リモートのホストが>>393の制御下にあるというから、
どうやって制御しているのかを聞いている。

398:デフォルトの名無しさん
09/02/15 10:39:33
いろいろ説明不足ですいません。。

クライアントでrecvするとECONNRESETが返ってきます。
サーバ側でアクティブ・クローズしてるのですが、これが原因なんですかね?
処理の流れとしては、以下のような感じになっています。

client    server
       accept
connect
send
       recv
       send
recv     close (クライアントのrecvとサーバのcloseとのタイミングが問題?)
close

よく考えると、サーバ側でsendしても実際は送られてない可能性が高いので、
その後すぐcloseしてしまうのは、問題な気もしますが、
高負荷でないとこの方法でうまく行きます。
(うまく行ってる場合は、たまたまsendがすぐにデータを転送していたということでしょうか?)
サーバ側では、sendしたあと、peerがcloseしたのを確認した後にcloseするのが
いいのでしょうか?
(recvで0が返ってくるまでcloseしないとか)

どなたかご教授ください



399:デフォルトの名無しさん
09/02/15 11:00:24
>>398
> (recvで0が返ってくるまでcloseしないとか)

& shutdown

400:デフォルトの名無しさん
09/02/15 11:00:38
>>398
最後サーバからなにsendしてるのかしらんけど
双方のパケットの内容はモニターしてチェックしたの?
してないんだったらまずはそっからじゃね?

401:デフォルトの名無しさん
09/02/15 11:00:44
>>398
URLリンク(www.kt.rim.or.jp)

402:デフォルトの名無しさん
09/02/15 11:45:12
>>399,401
ありがとうございます。

1. データ送信を完了する。
2. shutdown()をhowパラメータを 1 に設定して呼び出す。
3. recv()が 0 を返却するまでループする。
4. closesocket()を呼び出す。

1の「送信を完了する」というのは、実際に送信が完了したかの確認ではなく、
send(write)を呼んでstatusがOKかを確認するということでいいんですかね?

とりあえず、試してみます。

403:デフォルトの名無しさん
09/02/15 11:57:05
そだね、最後にちゃんとFINの立ったTCPセグメントを送ってやるって事。
recv側はちゃんとFINの立ったTCPセグメントを食ってやるって事。
それでどちら側もちゃんとshutdownできる。
何も難しいことはやってない。


404:デフォルトの名無しさん
09/02/16 19:23:21
非同期ソケットでFD_READの通知がきたとき
int ret = recv(socket , buf , 128 , 0 );//whileループは使わない。
ret == -1はあるきがするのですが(ブロッキングなど)
ret == 0はあるのでしょうか?
ブロッキングソケットの場合はrecvでとまっているので ret == 0で切断などであるとは思うのですが。

405:デフォルトの名無しさん
09/02/17 02:39:11
マニュアルにないと書いてなければあると思わなければいけない。

406:デフォルトの名無しさん
09/02/17 10:35:44
>>361ですが、やっとこ、つながりました。一週間でしたね。
サーバー管理している皆様
セキュリティは、ほどほどにお願いします。

407:デフォルトの名無しさん
09/02/17 10:38:02
お前氏んでいいよ

408:デフォルトの名無しさん
09/02/17 12:21:38
>>407
おまえの母ちゃんよりマシ。

409:デフォルトの名無しさん
09/02/17 12:39:25
サーバー管理者から害のあるスクリプトと認定されるものを走らせてアク禁くらって
まるでサーバー管理者側が悪いかのような口のきき方すれば
罵声を浴びるに決まってるだろ

人のことをとやかく言う前にまず自分のスキルを上げろって話さ

410:デフォルトの名無しさん
09/02/17 14:13:00
>>409
あっそ

411:デフォルトの名無しさん
09/02/17 14:58:21
>>410
うん
そういうこと

412:デフォルトの名無しさん
09/02/17 15:01:41
まあ普通にサーバ管理者に問い合わせれば済む話だしな。

413:デフォルトの名無しさん
09/02/17 18:00:16
一応書いておきますが、406と408、410は、別人です。
わたしは、どのみちシロウトです。

414:デフォルトの名無しさん
09/02/17 18:38:28
>>413の付け足しですが。
>>406は、ただ最後にちょっと気の利いたことを書いておこうと
思っただけです。
気に障ったらすみません。
でもネットには、けんかを買いたい人が待ち構えてるんだね。
>>408には、笑った。

415:デフォルトの名無しさん
09/02/17 19:40:55
ネットにはよそのサイトをDoSしても開き直っている奴いるしね。


最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5396日前に更新/97 KB
担当:undef