[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2chのread.cgiへ]
Update time : 05/09 19:49 / Filesize : 97 KB / Number-of Response : 416
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 21:07:24 ]
主にソケットに関しての質疑応答スレッドです。

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

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

前スレ
ネットワークプログラミング相談室 Port22
pc11.2ch.net/test/read.cgi/tech/1222603744/
関連スレ
Java ネットワークプログラミング 【教えて!】
pc11.2ch.net/test/read.cgi/tech/1086238859/

281 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 01:41:03 ]
int get_mac_address(struct arpreq *req)
じゃなくて
int get_ip_address(struct mac_addr *mac)
だよなぁ


282 名前:249 ◆ZHAPRHY6Ag [2009/02/06(金) 01:57:16 ]
ああそうですね。間違えました。求めるたいのはIPアドレスです。

○例えば、標準関数でint get_ip_address(struct arpreq *req) のような関数があると理想的です。

283 名前:249 ◆ZHAPRHY6Ag [2009/02/06(金) 02:00:25 ]
>>280 >>281
ああちがいました。
求めたいのはMACアドレスです。

ですので、
○例えば、標準関数でint get_mac_address(struct arpreq *req) のような関数があると理想的です。

284 名前:249 ◆ZHAPRHY6Ag [2009/02/06(金) 02:02:28 ]
>>278は間違いなので書きなおします。)

大切なことを言い忘れていましたが、CかC++で実装したいと考えています。

それと、あくまでも同一LAN内のIPアドレスが分かっているリモートホストのMACアドレスが知りたいのであって
明示的にARPリクエストを送りたいわけではありません。したいのはあくまでもMACアドレスを取得することです。

RAWソケットを開いたりする必要こと無く、標準関数あるいは標準機能と数行の記述でMACアドレスを取得できることが希望です。
標準関数を希望するのは、OSに標準的に付属する以外にソフトウェアを取得するのは、権利の関係が面倒なので避けたいからです。

例えば、標準関数でint get_mac_address(struct arpreq *req) のような関数があると理想的です。

285 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 02:03:01 ]
>>278
> 標準関数でint get_mac_address(struct arpreq *req) のような関数があると理想的です

今までの流れでそんなのは無いというのが分からんのか? 今までのレスで十分その
関数を自分で書くだけの情報はあるはずだぞ。 

286 名前:249 ◆ZHAPRHY6Ag [2009/02/06(金) 02:12:48 ]
無いのですね。わかりました。ありがとうございました。

ちなみに、macアドレスを取得する関数はRAWソケットで既に作りました。
マルチプラットフォームでの移植性を考えるとlibpcapを使った方がよさそうでしたけど、移植することもないのでこちらにしました。

標準関数で同機能があればそちらで作り直したかったのですが仕方ありませんね。

287 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 03:21:05 ]
pc11.2ch.net/test/read.cgi/tech/1232455653/
ここでマルチしてんのか

288 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 08:20:08 ]
何がマルチ?

289 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 08:44:00 ]
>>282-283
指摘されているにも関わらず同じ間違いを繰り返してしまうキミは
プログラミングを止めた方がいい。経験上。



290 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 09:15:51 ]
同じじゃないですよ?

291 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 09:17:48 ]
愚者は経験に従うとも言います。

292 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 10:29:01 ]
神だって何度も間違える。

293 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 10:32:30 ]
プログラマは2度間違えない。

294 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 11:11:28 ]
人間は何度でも間違える。

295 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 11:33:57 ]
プログラマは2度間違えない。

296 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 13:21:01 ]
プログラマーって最高ですね。

297 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 15:16:43 ]
おばあちゃんが執事にするならプログラマが一番だって。

298 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 15:22:32 ]
>>284
ここにいる奴に書かせるつもりだなw

299 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 16:19:25 ]
ブロードキャストのパケット監視するとか?



300 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 16:30:03 ]
そうそう/proc/net/arpをずーと監視してればいつかは…
っておい!

301 名前:デフォルトの名無しさん [2009/02/06(金) 21:08:50 ]
過疎

302 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 21:18:49 ]
↑過疎の原因

303 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 22:22:51 ]
蘇我入鹿

304 名前:デフォルトの名無しさん [2009/02/07(土) 01:18:21 ]
金玉かゆい

305 名前:デフォルトの名無しさん [2009/02/07(土) 01:34:59 ]
なるほど
ありがとうございました

306 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 03:05:56 ]
ProxyARP

307 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 03:13:40 ]
ttp://www.geocities.jp/ptrs_sec/ipcat/

308 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 12:17:31 ]
パケットキャプチャについて質問なんです
自身のローカルIPにbindしてプロミスキャスモードに設定するとパケットキャプチャができますが、特定のIPとのパケット通信のみをキャプチャするにはどうすればいいんでしょうか?
全部とって選別よりも、それ以外取得できないようにしたほうが軽いと思うんです
試しにその特定のIPにbindしてプロミスキャスモードに設定しようとしたらエラーが出ました

309 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 12:41:32 ]
ドライバが対応していればその機能を使う。
対応していないなら、そういうドライバを作る。



310 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 14:18:21 ]
複雑だと思うならつかわなきゃいいんじゃねーの?
なんでアホはあるもの全部使わなきゃ気がすまねーの?

311 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 14:23:11 ]
どっちにしろ対象を絞り込むときに選別しなきゃならんわけで

312 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 14:44:47 ]

このスレって俺を含めてド素人しかいない予感w


313 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 15:22:25 ]
同じフィルタリングでも、カーネルモードとユーザランドでは性能が段違い。

314 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 15:22:28 ]
素人さん向け
ttp://www.tef-room.net/tool/PromiScan.html
ttp://www.space-peace.com/ethereal/check/ethereal_check_4.htm

315 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 19:10:19 ]
俺もド素人w

316 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 19:11:12 ]
TCPソケットでconnectすると
接続元アドレスが自動で設定されると思うんだけど
複数IPアドレスがあった場合どうなるの?

317 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 19:33:02 ]
bind

318 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 19:57:20 ]
なるほど
ありがとうございました

319 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 20:10:45 ]
処理するのにbindすればいいのは分かるんだけど
bindしないでconnectした時のアドレス割り当てが
どういったルールになってるのかなって。



320 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 20:35:40 ]
普通はそのインターフェースのプライマリアドレス

321 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 21:24:44 ]
>>320
ちゃんとプライマリとか見てくれるのか
ありがとー


322 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 06:32:35 ]
何でこの板IDないの?

323 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 07:49:43 ]
紳士だからさ


324 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 09:44:13 ]
変態という名の紳士

325 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 22:47:12 ]
地震キタ

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

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

327 名前:デフォルトの名無しさん mailto:sage [2009/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 名前:デフォルトの名無しさん [2009/02/10(火) 11:25:55 ]
んー
同じセグメントのIPが複数振られてたらどっちが使われる?

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

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



330 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 11:40:40 ]
>>329
ウィキペれ。

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

332 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 11:45:36 ]
>>328
>>327に書いてあるでしょ。

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

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


334 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 22:47:46 ]
質問です。

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

335 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 22:53:52 ]
あり得ません。



336 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 23:00:45 ]
>>335
ありがとうございました

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

338 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 23:18:03 ]
>>337

339 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 23:27:58 ]
本当はどうなんでしょうか?



340 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 23:32:09 ]
わかりません

341 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 23:36:14 ]
>>339 RFC 読めばええんちゃう?


342 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 00:01:12 ]
普通にありえる。

343 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 00:08:08 ]
OSのバグみたいな、よっぽどのことがない限りないでそ。

344 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 00:08:56 ]
OSと何の関係が

345 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 00:12:19 ]
UDPソケットって何?

346 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 00:17:01 ]
そう来ますか

347 名前:デフォルトの名無しさん mailto:sage [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 00:27:19 ]
最初から書いとけ馬鹿

351 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 01:29:43 ]
みなさん、ありがとうございました

352 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 03:41:46 ]
何に対して礼を言っているのだ

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


354 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 03:43:12 ]
>>352
みなさん ではないんでしょうか?

355 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 10:16:31 ]
>>353
スレ違い。

356 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 10:38:13 ]
>>347-349
力抜けよ

357 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 11:20:27 ]
アッー!

358 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 17:23:26 ]
なんだこの流れは…たまげたなぁ

359 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 21:00:32 ]
>>353 はもっと評価されていい。

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

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



360 名前:デフォルトの名無しさん [2009/02/12(木) 01:38:36 ]
神との対話を見た

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

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

363 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 13:50:33 ]
接続拒否されるってどんなスクリプト流したんだよ・・・

364 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 14:25:13 ]
既存サイトを攻撃してはいけません

365 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 15:22:03 ]
一度でも攻撃受けたとこはこの辺厳しい

366 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 15:26:12 ]
なんて迷惑な奴

367 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 19:14:35 ]
お約束ですが
通報しました

368 名前:デフォルトの名無しさん [2009/02/12(木) 20:17:07 ]
www.itmedia.co.jp/news/articles/0902/12/news091.html

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



370 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 20:29:12 ]
使ってる言語くらい書け。

371 名前:デフォルトの名無しさん [2009/02/12(木) 20:50:31 ]
C言語です。

372 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 22:04:37 ]
ping()

373 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 22:20:59 ]
なんで途中までは出来た、みたいな言い方になってんだ

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


375 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 23:26:29 ]
おまいら、理解力の無い俺に救いの手を・・・

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

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

376 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 23:29:40 ]
インバウンドしかブロックしないファイアーウォールなんだろ

377 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 23:33:44 ]
>>375
> サーバーをSourcePort10000で立ち上げる。

SourcePort→AcceptPort

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

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

379 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 23:57:36 ]
>>378
そゆものでしょ



380 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 01:01:06 ]
>>379
そんなのいやだぁぁぁ
ちゃんと理解したいぃぃぃ

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

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

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

382 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 01:32:24 ]
SPI

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

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


384 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 15:31:17 ]
ヽ(´ー`)ノヽ(´ー`)ノヽ(´ー`)ノヽ(´ー`)ノヽ(´ー`)ノ

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

386 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 20:57:16 ]
また大阪か

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

388 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 10:16:09 ]
免許は逓信大臣が交付じゃね?

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



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

391 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 23:38:14 ]
>>390
リモートのホストに聞いてください。

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

393 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 00:50:10 ]
>>391

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


394 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 00:50:39 ]
じゃあ聞けよ。

395 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 00:50:59 ]
どうやって制御してるの?

396 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 01:21:34 ]
>>395
リモートのホストに聞いてください。


397 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 01:23:55 ]
>>396
ちがう。

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

398 名前:デフォルトの名無しさん mailto:sage [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 11:00:24 ]
>>398
> (recvで0が返ってくるまでcloseしないとか)

& shutdown



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

401 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 11:00:44 ]
>>398
www.kt.rim.or.jp/~ksk/wskfaq-ja/newbie.html#howclose

402 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 11:45:12 ]
>>399,401
ありがとうございます。

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

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

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

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


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

405 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 02:39:11 ]
マニュアルにないと書いてなければあると思わなければいけない。

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

407 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 10:38:02 ]
お前氏んでいいよ

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

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

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



410 名前:デフォルトの名無しさん [2009/02/17(火) 14:13:00 ]
>>409
あっそ

411 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 14:58:21 ]
>>410
うん
そういうこと

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

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

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

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






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<97KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef