- 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/
- 242 名前:デフォルトの名無しさん mailto:sage [2009/11/24(火) 23:37:24 ]
- >>241
すみません、よくわかってないのですが MAC判別がどう関係あるのでしょうか? 宛先mac自体は、本来の宛先macをarpテーブルで指定してやりますよね
- 243 名前:デフォルトの名無しさん mailto:sage [2009/11/24(火) 23:42:42 ]
- 送信する相手のARPテーブルを操作するって事か
それが受信できるかどうかはIP層の実装仕様次第じゃないのか? 普通は出来ないと思うが・・・
- 244 名前:デフォルトの名無しさん mailto:sage [2009/11/24(火) 23:51:53 ]
- 変なパケットは捨てるのが基本
- 245 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 00:00:49 ]
- 実装仕様とはNICに依存するのでしょうか?
でもmacアドレスはあってる、IP層のIPも送信元がARPテーブル操作してあってる から届くはずだとはおもうんですが
- 246 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 00:52:43 ]
- > ARPテーブル操作して、
どこのマシンのARPテーブルいじる気だよ。毒入りarp投げるのか? オレの管理下で発見したら接続禁止だぞ。上司が土下座しなけりゃつなげさせない。 > そこで0.0.0.0をbindしておけば自分の今のIPとは違うデータまで受信できるということでしょうか? IPってゆうな。クズ。 例え送信元のARPテーブル操作してパケットが届いたとしても出来ない。 0.0.0.0は自マシンのアドレスに対するワイルドカードだからだ。 もう一回言っておく。IPってゆうな。クズ。
- 247 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 01:18:53 ]
- 受信したいマシンが 192.168.11.100 というIPを持っていないから無理
RawIPでも使え
- 248 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 01:28:28 ]
- IPってゆうな。クズ。
- 249 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 01:37:02 ]
- 単にアドレスって言うのもハンパだろ?
- 250 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 01:45:49 ]
- IPアドレスを省略するときは単に「アドレス」って言う
IPは知的財産の省略形として稀に使うぐらい
- 251 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 02:01:57 ]
- ネット盗聴ソフトか不正アクセスでもするソフトでも作ってるのかw
- 252 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 03:27:17 ]
- >>235
環境による >>240 環境による
- 253 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 06:53:48 ]
- promiscuous
- 254 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 07:32:45 ]
- >>246 >>247
>>252 さんがいうには、環境によってはできるとのことですが
- 255 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 07:33:57 ]
- 俺の自作スタックなら何でも出来る
- 256 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 08:02:59 ]
- >>252
かなりめずらしい環境でないか? 組み込み系のマイナーな スタックとか?
- 257 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 17:54:55 ]
- WinSockのWSAAsyncSelectについて質問です。
今まで使い方を間違えていたらしく、あちこちのサンプルでは (1) リスニングソケットにはFD_ACCEPTを設定し WSAAsyncSelect(socketListen, hWnd, (WM_APP + 1), FD_ACCEPT)) (2) case FD_ACCEPT内で SOCKET socket = accept(m_sckListen, &addr, &nLength); WSAAsyncSelect(socket, hWnd, (WM_APP + 1), FD_READ | FD_CLOSE) と、個別にFD_READやらFD_CLOSEを設定するのが正解のようです。 今まで私は(1)で FD_ACCEPT | FD_READ | FD_CLOSE と設定し、(2)ではWSAAsyncSelect自体を呼び出していませんでした。 ですが、この状態でもsocket側に通信データが送られてきた際に、きちんとwParam == socketな状態でWD_READが呼び出されていました。 これは、正規の仕様に乗っ取った挙動なのでしょうか? 例えば「リスニングソケットにFD_READなどを設定しておくと、そのリスニングソケットでacceptされたソケット全部にFD_READが自動的にセットされる」とかでしょうか?
- 258 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 18:11:24 ]
- asyncも分かってないしselectも分かってないな
- 259 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 20:36:58 ]
- ソケット生成してbindした時点で、データが送られてくると
受信はされるのでしょうか? そこから、recvformで取り出すといった感じなのでしょうか? データを一定間隔で送信し、送信した結果複数の個所からデータが返ってくる とした場合、最初に返ってきたデータだけをデータとして取り込みたいのですが こういった場合、どうするのが最適でしょうか?
- 260 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 20:48:26 ]
- スタックって自作できるのでしょうか?
スタックを自作すれば、L1レベルから入ってきたデータを好きなように取り込めるのでしょうか?
- 261 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 21:07:50 ]
- IEの仕様書はどこにありますか
MicroSoftのサイトの情報見ても全然かゆいところに手が届かない
- 262 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 21:23:21 ]
- >>259
TCPだとそうだね。acceptしてからだけど。 他のは捨てたいって事なら読んでから捨ててクローズすればいい。 読まずに捨てたいってことなら、それはやらない方がいい。 理由はFAQ読んで。上にも話題に出てる。
- 263 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 21:24:03 ]
- >>260
> スタックって自作できるのでしょうか? あなたの能力次第。
- 264 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 21:25:05 ]
- >>259
お前はまずProgramming UNIX Socket FAQを全部嫁。 >>260 できないと思うのなら、それはお前の知識が無いからだ。 >>261 ないんじゃないの?何が知りたいの?
- 265 名前:264 mailto:sage [2009/11/25(水) 21:25:51 ]
- うお、かぶりまくったぜ。
- 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バイトは・・・おめでとう、すべて受信出来たな。
|

|