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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 03:43:08 ]
主にソケットに関しての質疑応答スレッドです。

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辺り
足りなかったら適当に付け足してね

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

266 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 22:10:46 ]
>>264
FAQよんだのですが、bindした時点でデータがきているかはのってないのですが

267 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 22:38:57 ]
>>266
自覚して無いかもしれないが、日本語に難ありすぎて意味不明

268 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 22:42:18 ]
おそらく
「bindしたあと、recvfromをする前に到着したメッセージは
全て、その後の recvfrom で読み出せるのか?」
と質問したいんだろう

269 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 23:10:46 ]
>>260
BSDのドライバのソースを読む
Linuxはダメ!絶対

270 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 09:12:07 ]
257です。
>「リスニングソケットにFD_READなどを設定しておくと、そのリスニングソケットでacceptされたソケット全部にFD_READが自動的にセットされる」
これが仕様に基づく正しい動作であることを、英語版MSDNページで確認しました。

271 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 11:52:31 ]
こんな何の情報もくれないスレに、律義だなぁ

272 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 11:55:16 ]
Arduinoとイーサネットシールドを勉強すれば
プロトコルスタックも作れるよ

273 名前:デフォルトの名無しさん mailto:sage [2009/11/27(金) 00:25:46 ]
IE8に導入されたInPrivateブラウズって、保存済みのクッキーすら読み込んでくれないん?
クッキーは保存してあるのにリクエストに含まれてこない。
本家サイトみても、”新しくクッキーを保存することはないよん”としか書いてなくてよくわからん。

274 名前:デフォルトの名無しさん mailto:sage [2009/11/27(金) 07:14:43 ]
c+winsockでHTTPプロキシ作ろうとしてるんだが
ブラウザから送られてきたhostヘッダの部分を接続先にして
データを受け流す、みたいな感じでいいのか?
その場合httpsの通信はどうするの?



275 名前:デフォルトの名無しさん mailto:sage [2009/11/27(金) 07:50:13 ]
hostヘッダがないときでも相手につながないといけないわけだが

276 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 22:58:35 ]
ブロードキャストで送信しているソケットで、受信もしていて

そのソケット宛に、VBのwinsockでブロードキャストで送信しようとすると
ローカルコンピュータからは利用できませんとエラーがでたり、
二つのパソコン用意して、同様にVBからHUBを介してそのソケット宛にデータ送ろうとすると
片方はブロードキャストでおくれるのだが、もう片方はデータすらおくれない

同じネットワークにブロードキャスト送信できる数とかに制限あるのかな

277 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 00:39:07 ]
TCP/IPにはそのような制限はない。
WinsockやVBについては知らないので他の人お願い。

278 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 00:50:18 ]
知らないなら黙ってればいいのに

279 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 04:36:18 ]
そりゃブロードキャストで送ればネットワークに負担がかかるし、不要なPCにもパケット送りつける事になってしまうからなあ。

280 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 13:41:20 ]
だから何だよ?

281 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 15:18:33 ]
ブロードキャストって何?

282 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 17:14:15 ]
放送

283 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 19:57:05 ]
PC-HUB-PC でUDPにてお互い同時に周期的に送信していて、たまにパケットが喪失するのですが
これってどんな原因が考えられますか?

284 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 20:16:18 ]
気にする方向を間違えている
その件に関して我々は原因を追究するべきではない



285 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 20:24:28 ]
>>283
天使の取り分

286 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 21:46:07 ]
udpでもtcpでもパケットは消失するものなんだよ。
tcp: osがどうにかしてくれる。
udp: 自分でどうにかするか諦める。

287 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 21:52:35 ]
ただ、HUBを介して単純に超近くのネットワークなのに、他にそのパソコン以外通信なし
でも頻繁に損失するものなのかなーとおもいまして

何回に1回とか大体の確率っておおよそでいいからわかるのかなぁ

288 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 21:56:49 ]
消失が完全に予測出来るなら暗号に使えるな

289 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 22:01:07 ]
LAN側に古いハブ使ってるがコリジョンランプがガンガンつきまくってる
仕組みはよくわからんが、よく通信できてるもんだと関心するほどだ

290 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 22:51:42 ]
HUBを介すのと介さないのでは喪失しやすくなったりするのかね

291 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 23:15:48 ]
お互いに交互に投げ合ってるならぶつからないだろうけど
同時に投げてるならぶつかるんじゃないのか?

292 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 00:03:33 ]
交互に投げ合っててもいつか同時のタイミングが発生しそうな

293 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 00:11:30 ]
CSMA/CDか
久しぶりに思い出したんで忘れかけてたよ

294 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 00:22:50 ]
>>290-292
お前等スイッチングハブの「スイッチ」の意味知らないだろ。
パーフェクトシャッフルとかバタフライネットワークとか。



295 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 00:25:44 ]
なにはともあれ、今つかってるバカハブは捨てるべきだな。俺。
末端のTVとDVDレコ用だけど・・・

296 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 00:36:53 ]
PC−PC のように単純にケーブル1本でお互い送受信していても
UDPならパケットの衝突か消失がありうるということ?

297 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 00:44:04 ]
何がおこってもおかしくはない
ノイズやバッファオーバーなど色々あるんじゃない?
UDPがそれらに保障されてないんだから、プログラマとしてはそれを考慮してプログラムを組むしかない

298 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 00:50:43 ]
>>296
ループバックインターフェースでも消失はありうる。

299 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 01:00:56 ]
>>297
バッファオーバーはデータのサイズを小さくもてば少なくなるのかなぁ
ノイズでそんなに頻繁になくなるのかな PC-PCとかでも

1分間に10回ほど消失するって大きい?

300 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 01:20:10 ]
今では低速なRS232Cでも電気的に失敗することはある
クロックだのなんだの、下位の仕事してたころにはこれでいいのかなと疑問に思いながら作ってたもんだ…
もちろん通信の失敗を考慮してプログラムしてたが

301 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 01:52:47 ]
今時ノイズは余り関係ない。イーサネットで距離も短ければ。

302 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 02:02:47 ]
プログラム組む側としては、そんな話はどうでもいいんだって。

303 名前:デフォルトの名無しさん [2009/12/03(木) 02:05:58 ]
距離も短くノイズも関係ないとすればたかだがPC間伝送でパケット消失する理由って・・・

304 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 02:10:04 ]
バッファなりなんなり能力以上の処理が必要になれば当
然パケットは落ちる。忙しい状況は自分のプログラムと
は無関係に発生するかも知れない。TCP は再送する。
UDP は再送しない。



305 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 08:35:33 ]
バカハブは貴重品だぞ。
簡単には手に入らないが価値をしらないバカの手元にあるのはもったいない。

306 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 09:22:54 ]
スニファ作るとか?

307 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 09:24:49 ]
開発用にリピータハブ重宝しております

308 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 11:12:41 ]
>>299
ping 1時間くらい投げ続けてlossどれくらい?

309 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 17:30:01 ]
初歩的な質問ですいません。
よくある「"ABCDEFGH"と送信しても"ABC""DE""FGH"と3回で受信されることもある」という例ですが、
この例は送信がTCP/UDPレベルで計3パケットに分割されたということなるのでしょうか?

310 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 17:31:36 ]
送信かもしれない
途中の道かもしれない
受信かもしれない

311 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 17:33:06 ]
逆に2回にわけて送ったやつがくっついてることもある

312 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 19:10:15 ]
既にクローズされてるソケットにclosesocket使ったらエラーで強制終了される?

313 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 19:25:44 ]
エラーだが強制終了されない

314 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 22:20:48 ]
>>309
UDPならAPIレベルでは分割されないよ。
データグラム通信を提供するサービスだから。



315 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 00:44:49 ]
何か障害出まくるアプリケーションが多いのがよくわかるスレだ。
絶対はないから、ちゃんと回避手順を考えてプログラム組むべき。
エラーになったらどうするのか。想定してなかったので、そのまま終了じゃゴミ。

316 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 22:21:18 ]
オーストリッチアルゴリズム最強

317 名前:デフォルトの名無しさん mailto:sage [2009/12/11(金) 00:06:40 ]
プロキシを作りたいのですが
どうやって作ればいいのでしょうか?

書籍とかあれば教えてください

318 名前:デフォルトの名無しさん mailto:sage [2009/12/11(金) 00:09:04 ]
プロ棋士?

319 名前:デフォルトの名無しさん mailto:sage [2009/12/11(金) 00:10:07 ]
どのような情報を盗み見たいの?それによって作り方変えないと

320 名前:デフォルトの名無しさん mailto:sage [2009/12/11(金) 00:17:04 ]
>>319
透過プロキシ+多層です

321 名前:デフォルトの名無しさん mailto:sage [2009/12/11(金) 00:20:31 ]
>>319
サイバー犯罪幇助で通報しますた

322 名前:デフォルトの名無しさん mailto:sage [2009/12/11(金) 02:48:29 ]
つまり勝手にパケット横取りしてナニしたいと。

323 名前:デフォルトの名無しさん mailto:sage [2009/12/11(金) 03:10:33 ]
誰かが串通して児ポとかダウンロードした日には死ねるなw

324 名前:デフォルトの名無しさん mailto:age [2009/12/11(金) 03:24:38 ]
透過プロキシ - Google 検索
www.google.co.jp/search?q=透過プロキシ




325 名前:デフォルトの名無しさん mailto:sage [2009/12/11(金) 09:08:36 ]
homepage2.nifty.com/spw/tips/PacketDump.html

326 名前:デフォルトの名無しさん mailto:sage [2009/12/11(金) 12:47:22 ]
recvに渡した最大受信バイト数を超えるデータを受け取ると
文字列が途切れて文字列操作に支障が出ることがあるんだが
バッファサイズデカくするしか無いの?

327 名前:デフォルトの名無しさん mailto:sage [2009/12/11(金) 12:49:03 ]
最大受信バイト数を超えるデータを受信するわけないじゃんw

328 名前:デフォルトの名無しさん mailto:sage [2009/12/11(金) 17:31:06 ]
>>326
n回受信→連結 してから操作しちゃだめなん?

多分 TCP だと思うが、
分割されることだって(1回の send なのに 受け側は recv 2回になった)あるし
まとまることだって(2回の send が、受け側は recv 1回でまとまって読めた)ある

329 名前:デフォルトの名無しさん mailto:sage [2009/12/11(金) 19:04:45 ]
>>326
バッファサイズをでかくするか、
自分でバッファリングするなりしてやらないとダメだよ

330 名前:デフォルトの名無しさん mailto:sage [2009/12/11(金) 22:14:24 ]
proxyってどうやって作るの?

331 名前:デフォルトの名無しさん mailto:sage [2009/12/11(金) 22:31:27 ]
そんなレベルの人には関係ありません

332 名前:デフォルトの名無しさん mailto:sage [2009/12/11(金) 23:39:31 ]
アプリケーション層じゃなくて
なんとか層とかいうレベルの処理をするんだっけ?

333 名前:デフォルトの名無しさん mailto:sage [2009/12/11(金) 23:43:08 ]
そうかお前らスキル低いから答えられないのか
それなら仕方ないな

334 名前:デフォルトの名無しさん mailto:sage [2009/12/11(金) 23:45:25 ]
はいはいそうでちゅよ〜



335 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 00:13:27 ]
中途半端に教えたところでレベルの低い人間には無意味だしね

336 名前:デフォルトの名無しさん [2009/12/12(土) 00:35:31 ]
UDPのrecvfromで、サイズを指定しますよね
そのサイズって、たとえば1400バイトのデータが送られてきて
recvfromの引数でサイズを400で指定してやると、400バイトだけ
バッファにため込みますよね

残りの1000バイトはどうなるのでしょうか?
次にrecvfromしたときに400バイトだけそこからまたよみこむのでしょうか?

337 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 00:40:06 ]
yes

338 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 00:40:47 ]
嘘を教える奴は最低な奴だと思う

339 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 01:02:15 ]
>>336
残りの1000バイトは粉みじんになって死んだ・・・

340 名前:デフォルトの名無しさん [2009/12/12(土) 01:04:35 ]
では、1400バイトのデータが2回に分けて連続して送信されてきました。

2回送信されたあとに、recvfromで400バイト読んだとすると、
残りのデータはすべて消えるのでしょうか?
あるいは、3000バイト読めば全て読めるということでしょうか

341 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 01:07:44 ]
せめて試してから質問しろよな

342 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 01:08:57 ]
>>340
1回目の送信が1000バイト、2回目が400バイトだったとしよう。

1回目を400バイトのバッファで受信したら、残り600バイトはパァだ。
2回目の400バイトは・・・おめでとう、すべて受信出来たな。

343 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 01:09:54 ]
recvfrom 受信バイト - Google 検索
ttp://www.google.co.jp/search?q=recvfrom+受信バイト




344 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 01:10:10 ]
>>343
Opera使いか?



345 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 01:13:52 ]
>>1-7のテンプレは読んだのか?

346 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 01:14:35 ]
>>345
イミフ

347 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 04:10:17 ]
ipは途中でルータが処理するの辛く成ったら捨てていいよって通信手順だしな。
届かなきゃ、再送するしか無い。まあ再送しまくると余計にルータが辛く成って捨てられるけどなw
お利口なルータは捨てたら一応icmpで通知はしてくれる。ファイヤウォールとかでicmp捨ててたら当然届かないけどw

348 名前:デフォルトの名無しさん [2009/12/12(土) 11:14:57 ]
>>342
バッファって、どこのバッファですか?

349 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 12:07:31 ]
>>348
あなたがデータを受け取るためにrecvfromの第2引数に指定したバッファ

350 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 12:34:01 ]
UDPのカーネル内での受信バッファサイズって
どこで規定されてたっけ?defineとかあった?

あと、これは勉強不足から来る質問なんだけど
IPv6でも65536-20-8=65516が最大サイズでおk?

351 名前:デフォルトの名無しさん [2009/12/12(土) 15:40:03 ]
>>349
ありがとうございます

ただ、1000バイトと400バイトのデータが送られてきて
ソケットのバッファ?にたまってますよね

それをrecvfromで400バイトずつ取り出すと、残り600バイトが
パーになるとのことですが、

どうやってrecvfromは、1回目の1000バイトと2回目の400バイトを
別として見分けるのでしょうか

352 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 15:43:23 ]
UPDの仕様は理解したうえでの質問なんだよな?

353 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 15:43:57 ]
ソフトを作る団塊で通信するパケットサイズ決めておくんじゃね?

354 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 15:45:55 ]
>>351
取り出したらああああああああああああああssssssss

見分けるというか、パケット単位で管理してる。
recvfromでパケットごとに取り出すので
取り出す際に余った分は破棄される



355 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 15:52:28 ]
そもそもUDPなの?

356 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 15:58:18 ]
どうせ釣りだろ

357 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 18:07:41 ]
ほんとにTCP/IPの知識ないのにネットワークプログラミングやろうとする奴多すぎ

358 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 18:10:11 ]
やれば知識がつくんだからいいじゃない

359 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 18:11:57 ]
プロトコル層とかなんちゃら層とか

360 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 18:24:35 ]
>>351
> どうやってrecvfromは、1回目の1000バイトと2回目の400バイトを
> 別として見分けるのでしょうか

>>354 が言う通りパケット毎に管理してる。

そもそも recvfrom() は引数で送信元アドレス/ポート
が取得できるだろ。連続して違う相手から受信したらデー
タが混じるとでも思ってるのか?

361 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 19:46:46 ]
65536-20-8=65508だったな。計算間違えたぜ。
このサイズ以上はOS側で落とされるな。

362 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 21:04:26 ]
proxyの作り方教えてください

363 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 21:13:42 ]
proxy 作り方 - Google 検索
ttp://www.google.co.jp/search?q=proxy+作り方

364 名前:デフォルトの名無しさん [2009/12/12(土) 21:14:06 ]
>>360
recvfromがまとめてパケットを1回でとりこむかなとおもいまして・・・
そういう部分は、recvfromの関数がソケットと関連づけられてつくられてるのかな



365 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 21:24:48 ]
他のプログラムが使用してるソケットにデータを送ることってできないの?
某ネトゲチートツールみたいに

366 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 21:38:12 ]
>>365
自分で答えを書いているじゃないか。






[ 続きを読む ] / [ 携帯版 ]

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

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