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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
主にソケットに関しての質疑応答スレッドです。

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

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

前スレ
ネットワークプログラミング相談室 Port24
http://pc12.2ch.net/test/read.cgi/tech/1246895188/
関連スレ
ネットワークプログラミング雑談
http://pc12.2ch.net/test/read.cgi/tech/1235800707/
Java ネットワークプログラミング 【教えて!】
http://pc12.2ch.net/test/read.cgi/tech/1086238859/
2デフォルトの名無しさん:2009/10/14(水) 03:45:45
3デフォルトの名無しさん:2009/10/14(水) 03:49:19
図書コーナー:
UNIXネットワークプログラミング〈Vol.1〉ネットワークAPI:ソケットとXTI
 http://www.amazon.co.jp/exec/obidos/ASIN/4894712059/
 そのソースコード
 http://www.unpbook.com/src.html
詳解TCP/IP〈Vol.1〉プロトコル
 http://www.amazon.co.jp/exec/obidos/ASIN/4894713209/
詳解TCP/IP〈Vol.2〉実装
 http://www.amazon.co.jp/exec/obidos/ASIN/4894714957/
詳解TCP/IP〈Vol.3〉トランザクションTCP, HTTP, NNTP, UNIXドメインプロトコル
 http://www.amazon.co.jp/exec/obidos/ASIN/4894716674/
TCP/IPによるネットワーク構築
 〈Vol.1〉原理・プロトコル・アーキテクチャ
  http://www.amazon.co.jp/exec/obidos/ASIN/432012054X/
 〈Vol.3〉クライアント‐サーバプログラミングとアプリケーション
  http://www.amazon.co.jp/exec/obidos/ASIN/4320028007/
  Linux/POSIXソケットバージョン
  http://www.amazon.co.jp/exec/obidos/ASIN/4320120841/
  Windowsソケットバージョン
  http://www.amazon.co.jp/exec/obidos/ASIN/4320029992/
4デフォルトの名無しさん:2009/10/14(水) 03:50:36
マスタリングTCP/IP RTP編
 http://www.amazon.co.jp/exec/obidos/ASIN/4274065618/
Linuxソケットプログラミング?ネットワークプログラミングにおける実践技法
 http://www.amazon.co.jp/exec/obidos/ASIN/4894714671/
Webプロトコル詳解?HTTP/1.1、Webキャッシング、トラフィック特性分析
 http://www.amazon.co.jp/exec/obidos/ASIN/4894715414/
WinSock2.0プログラミング
 http://www.amazon.co.jp/exec/obidos/ASIN/4797306882/
猫でもわかるネットワークプログラミング
 http://www.amazon.co.jp/exec/obidos/ASIN/4797323604/
IPv6ネットワークプログラミング
 http://www.amazon.co.jp/exec/obidos/ASIN/4756142362/
Visual Basicではじめるネットワークプログラミング超入門
 http://www.amazon.co.jp/exec/obidos/ASIN/4839917523/
5デフォルトの名無しさん:2009/10/14(水) 03:51:18
URL抜粋:
★規格
RFC 日本語版リスト
 http://www5d.biglobe.ne.jp/~stssk/rfcjlist.html
JPNIC RFC関連リンク集
 http://rfc-jp.nic.ad.jp/link/
RFC Editor
 http://www.rfc-editor.org/
HTMLなRFC (セクションを直に示すのに便利)
 http://www.freesoft.org/CIE/RFC/
RFC 2616 "Hypertext Transfer Protocol -- HTTP/1.1" 日本語訳
 http://www.studyinghttp.net/cgi-bin/rfc.cgi?2616
IANA Well known port numbers
 http://www.iana.org/assignments/port-numbers
6デフォルトの名無しさん:2009/10/14(水) 03:52:13
★プログラミング
C10K ヘヴィーロードサーバ
 http://www.kegel.com/c10k.html
C10K ヘヴィーロードサーバ(日本語訳)
http://www.hyuki.com/yukiwiki/wiki.cgi?TheC10kProblem
MSDN
 http://msdn.microsoft.com/library/en-us/dnsitehelp/html/tochelp.asp
Raw IP Networking FAQ
 http://www.whitefang.com/rin/
Java で packet capture
 http://netresearch.ics.uci.edu/kfujii/jpcap/doc/
Randomness Recommendations for Security
 http://www.faqs.org/rfcs/rfc1750.html
BoostSocket
 http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?BoostSocket
The Code Project - Internet & Network programming
 http://www.codeproject.com/internet/
ネットワークプログラミングの基礎知識 (問題ありのサイト?)
 http://X68000.q-e-d.net/~68user/net/
7デフォルトの名無しさん:2009/10/14(水) 03:53:14
8デフォルトの名無しさん:2009/10/14(水) 06:56:20
>>1
9デフォルトの名無しさん:2009/10/14(水) 11:37:47
SCTPどーよ
10デフォルトの名無しさん:2009/10/14(水) 21:10:47
Apacheの発見されていない脆弱性を教えてください><
11デフォルトの名無しさん:2009/10/14(水) 21:54:36
>>9
イーヨ
12デフォルトの名無しさん:2009/10/14(水) 23:22:33
発見してしまった。
13デフォルトの名無しさん:2009/10/15(木) 08:35:32
発見されていないのだから教える事はできない。
14デフォルトの名無しさん:2009/10/16(金) 03:54:59
馬鹿に使われる、という潜在的な脆弱性は
ローカルでしか発見し得ないかも
15デフォルトの名無しさん:2009/10/16(金) 13:16:40
実際大人になってからはじめてわかったことはいっぱいある
その殆どはわかったときには既に手遅れだったものばかりだ
16デフォルトの名無しさん:2009/10/17(土) 18:22:06
高校生のうちにセックスしまくっとけとかなw
17デフォルトの名無しさん:2009/10/20(火) 22:12:15
UDPで300BYTE程度のデータを送信しようとした所、送信できませんでした
1000byteなら送信できたのですが3000byteを送信しようとすると何か設定が必要なのでしょうか?
18デフォルトの名無しさん:2009/10/20(火) 22:29:37
Windows の UDP パケット サイズの最大値は 1280 バイトが既定値

これ関係ある?
19デフォルトの名無しさん:2009/10/20(火) 22:31:01
1280バイトと1281バイトで実験してみればいいだろ
20デフォルトの名無しさん:2009/10/20(火) 23:32:16
18は17とは別人だお
UDPとか使わないから俺は実験しないお
21デフォルトの名無しさん:2009/10/21(水) 00:34:44
エラーが起きた時はerrnoを調べるように頭の構造を設定する必要がある。
22デフォルトの名無しさん:2009/10/21(水) 05:25:56
udpは親切に再送してくれないからな。受け取れない終わり出し。
23デフォルトの名無しさん:2009/10/21(水) 05:50:45
つまり送信は性交していて受信が失敗してるわけですねわかります
24デフォルトの名無しさん:2009/10/21(水) 05:55:10
否認したわけですね
2517:2009/10/21(水) 07:50:19
3000byteのときは送信が成功しません。2000byteででもです。
1パケット以下なら送信が成功するのですが、そういう設定する
オプションってあるのでしょうか?
26デフォルトの名無しさん:2009/10/21(水) 09:03:08
フラグメント有効なら通りそうな気もするが・・・
27デフォルトの名無しさん:2009/10/21(水) 09:17:45
釣り針があまりにでかすぎる
28デフォルトの名無しさん:2009/10/21(水) 13:51:17
ソケットプログラムを書いていたらある時ものすごいエラーが出るようになり、
原因を探っていたらどうもヘッダファイルのインクルード順序によって出るという結論に達しました

おおよそでも結構ですので、こういう順序でインクルードするとエラーが出にくいという方針などはあるのでしょうか?
29デフォルトの名無しさん:2009/10/21(水) 15:37:02
要るものからインクルードするとエラーが出にくい
30デフォルトの名無しさん:2009/10/21(水) 23:11:30
sys/types.hを最初に、それ以外はどうでもいい。
31デフォルトの名無しさん:2009/10/22(木) 00:20:32
>>26
フラグメント有効ってどうすればよいのでしょうか?
カードの問題?
32デフォルトの名無しさん:2009/10/22(木) 02:04:56
フラグメントはDoSに利用されやすいこともあって、
オフにしているところも結構ある。
頼らずに分割して送れ。
33デフォルトの名無しさん:2009/10/22(木) 02:13:16
単にMTU越えてるから送れないってことじゃないの?
34デフォルトの名無しさん:2009/10/22(木) 02:34:35
>>32
IP だとそうだけど, UDP のリアセンブルは IP とは別問題じゃないか?
とはいえ, IP フラグメント捨てられたら UDP がこけるのも事実だが……

そもそも, 元ネタが環境を書いてないのがよくない
35デフォルトの名無しさん:2009/10/22(木) 02:38:48
殆どのバグは本人が問題無いと思っている場所にこそ存在する
36デフォルトの名無しさん:2009/10/22(木) 07:23:31
>>34
> UDP のリアセンブル

何のことを言っているの?
37デフォルトの名無しさん:2009/10/22(木) 08:04:23
UDPで1パケ以上送ろうとするとフラグメント化されるけど、それがされなくてデータ自体送れなくなってるってことか

フラグメント化のオンオフってどうやるんだったかな
38デフォルトの名無しさん:2009/10/22(木) 08:36:44
分からない奴は加わってくるな
39デフォルトの名無しさん:2009/10/22(木) 09:54:31
>>36
IPv6 は MTU ディスカバリー使って, 途中経路でフラグメント化されない形で
送信できるけど, v4 にはそうゆう機能がないのでフラグメント化される可能性
がある.

UDP は MTU 以上のデータグラムを送ろうとすると, 複数の IP パケットに分割して
送信される.

IP のフラグメントをリアセンブルするのと, UDP のデータグラムを複数の
IP パケットからリアセンブルするのは別の話だって言ってるんじゃないか
40デフォルトの名無しさん:2009/10/22(木) 13:41:40
>>29 >>30
ありがとうございました
41デフォルトの名無しさん:2009/10/22(木) 18:07:40
>>39
ん?
Path MTU DiscoveryはIPv4にだってあるだろ?
42デフォルトの名無しさん:2009/10/22(木) 19:55:05
v6は必須だよね。

>>39
フラグメンテイションもリアセンブルも、
IP層で行われるのであって、上の層が何かは関係ない。
tcpdumpやfirewallみたいに層縦断する奴等は気にする必要があるが。
43デフォルトの名無しさん:2009/10/22(木) 20:19:18
どっかのバカNEが「ICMP全部止めるのがセキュリティ」と妄信してるからなあ。
44デフォルトの名無しさん:2009/10/22(木) 20:21:04
それじゃpingが通らんがなw
45デフォルトの名無しさん:2009/10/22(木) 20:21:44
ping用のポートを用意
46デフォルトの名無しさん:2009/10/22(木) 20:51:23
www.ntt.co.jpとか
47デフォルトの名無しさん:2009/10/22(木) 22:30:32
>>44
The Internetにつながってるサーバはecho返さないようになってるの多くね?
48デフォルトの名無しさん:2009/10/22(木) 23:07:44
結局、UDPで送信してもフラグメント化されないため送信されてないって話だろ
49デフォルトの名無しさん:2009/10/22(木) 23:09:12
う、うん……(´・ω・`)
50デフォルトの名無しさん:2009/10/24(土) 14:23:18
listenの第2引数の意味がよくわからん
何にすればいいの
51デフォルトの名無しさん:2009/10/24(土) 14:39:42
0-1
52デフォルトの名無しさん:2009/10/24(土) 14:45:28
>>50
サーバ側がaccept(2)で接続確立するまで、
サーバ側に既に到着し待たされている接続要求をいくつ持てるか?
>>51
少なすぎて話にならない。
53デフォルトの名無しさん:2009/10/24(土) 19:57:25
なるほどありがとう
54デフォルトの名無しさん:2009/10/24(土) 20:12:46
ていうか、>>1のリンクくらい目を通せよ
55デフォルトの名無しさん:2009/10/24(土) 20:14:07
1はバックログ数1というわけではないんだな。これが。
56デフォルトの名無しさん:2009/10/24(土) 22:12:56
それはOSによる。
例えばLinuxは最小が8、最大はsysctl.max_syn_backlog
2の階乗にラウンドされる。
57デフォルトの名無しさん:2009/10/24(土) 22:46:01
反論するなら、1がバックログ数1であるものを例示して反論してくれたまえ。
58デフォルトの名無しさん:2009/10/25(日) 00:07:08
パケットのフラグメント化を許可する方法を教えてください
59デフォルトの名無しさん:2009/10/25(日) 00:14:17
経路上の中継器の管理者にフラグメントされたパケットを落とさないように依頼する。
60デフォルトの名無しさん:2009/10/25(日) 13:04:09
listenソケットて閉じちゃいけないの?問題発生したんだが
61デフォルトの名無しさん:2009/10/25(日) 13:12:44
どんな問題か書け
62デフォルトの名無しさん:2009/10/25(日) 14:05:12
セレクト使った場合
相手がクローズしたかどうかを知るにはどうすればいいの?
63デフォルトの名無しさん:2009/10/25(日) 15:03:27
>>1のFAQ嫁
64デフォルトの名無しさん:2009/10/25(日) 15:05:51
s.eof()
65デフォルトの名無しさん:2009/10/25(日) 22:27:46
>>59
中継器は使用せず直接LANケーブルで送信受信側をつないでます
どうやらパケット自体送出できないみたいなのです
フラグメント化が必要なデータだと
66デフォルトの名無しさん:2009/10/25(日) 22:52:42
PS3かなにかのメッセージか?
動いてるなら気にスンナ
67デフォルトの名無しさん:2009/10/25(日) 23:47:01
いえ、送出できてないので動かずです
68デフォルトの名無しさん:2009/10/26(月) 00:25:23
>>58, 59
何がしたくて, 何をやったらどうなってるのよ?

どう言う意味でパケットのフラグメントを使ってるのよ?

IP フラグメントってのは, 下の例のような構成で,
中継が MTU=500 のネットに会わせて, 勝手に IP パケットを分割する
時の話だぞ

端点 -> MTU=1000 のネット -> 中継 -> MTU=500 のネット -> 端点

UDP で MTU 以上のデータを送信したいとかって話?
69デフォルトの名無しさん:2009/10/26(月) 15:50:31
selectって条件が揃うまで値を返さないんだよね?
そうなるとrecvとaccsept用に2つスレッド作らないといけないのか?
70デフォルトの名無しさん:2009/10/26(月) 16:17:26
recv用とaccept用のディスクリプタを両方セットしとけば、いずれか一方が読み込み可能になれば返ってくる
スレッドは1つでok
71デフォルトの名無しさん:2009/10/26(月) 16:39:01
UDPソケット作る時に宛先アドレスを指定して作った場合も
sendto,sendmsgを使うなら宛先は指定しなければならないんでしょうか?
72デフォルトの名無しさん:2009/10/26(月) 17:41:42
> UDPソケット作る時に宛先アドレスを指定して作った
作り方教えて
73デフォルトの名無しさん:2009/10/26(月) 17:44:43
あー
勘違いしてました
74デフォルトの名無しさん:2009/10/26(月) 18:24:38
UDPでもconnectしとけばsend/recv使えるよ
75デフォルトの名無しさん:2009/10/26(月) 20:21:31
これからネットワークプログラムを開発する場合
今のトレンドのプログラム言語はなんでしょうか
76デフォルトの名無しさん:2009/10/26(月) 20:22:20
Rubyだ
77デフォルトの名無しさん:2009/10/26(月) 20:26:40
Javaだ
78デフォルトの名無しさん:2009/10/26(月) 20:29:14
トレンドなんか気にしているようではいけない
79デフォルトの名無しさん:2009/10/27(火) 00:12:51
>>68
すみません、UDPでMTU以上のデータを送りたいということです。
分かりにくくて申し訳ないです
80デフォルトの名無しさん:2009/10/27(火) 00:54:01
>>79
OSとか環境とか情報はないのか?
sendto で宛先指定すりゃ普通に出ていかないか?
送れてない時ってエラー帰ってないか?

どうしても send が使いたいんだったら >>74

もっとも, 組み込み用のスタックとかだと UDP の
connect は, 実装してないスタックもあるらしいが…
81デフォルトの名無しさん:2009/10/27(火) 06:19:11
>>79
送れません。
82デフォルトの名無しさん:2009/10/27(火) 10:31:31
なんでRFCも読まずにネットワークプログラムしてる奴がゴロゴロいるんだ?
83デフォルトの名無しさん:2009/10/27(火) 23:38:53
ICMP って 「アイコンプ」って読んだら変かなあ
84デフォルトの名無しさん:2009/10/27(火) 23:54:47
hen
85デフォルトの名無しさん:2009/10/27(火) 23:56:00
SNMPをスヌンプって読む人はいるよ
漏れは読まないけど
86デフォルトの名無しさん:2009/10/27(火) 23:57:11
>>82
87デフォルトの名無しさん:2009/10/28(水) 11:08:25
WSDLはうぃずどぅるだけどな
88デフォルトの名無しさん:2009/10/31(土) 04:47:46
リフラグメント前提のパケットを大量に流してあげると、フラグメントしてくれる親切なルータにDoS出来てしまう気がした。これってセキュリティホールじゃ?
ICMP echoは捨ててもいいと思うけどね。ルータで捨てた時に送って来るICMPは捨てると良くないことが起きそうだが。
89デフォルトの名無しさん:2009/11/01(日) 21:35:44
>>80
UDPのconnectなんてあるんですね。。でも、connectすりゃ、send,recv使えるって
しなくてもmtu以下のサイズなら使えます。そういうことではないのでしょうか?

OSがUNIXでもwindowsでもないからおくれないのかなぁ
90デフォルトの名無しさん:2009/11/01(日) 21:47:16
connectしなかったらsendは使えない
だって宛先不明
sendtoやsendmsgは使える
connectしたらsendも使える
91デフォルトの名無しさん:2009/11/01(日) 23:04:55
>>88
そんな古いDoS攻撃…
92デフォルトの名無しさん:2009/11/01(日) 23:21:35
複数の接続を受けるサーバーを作りたいんだけど
人数が増えるたびrecvの回数増やすにはどうすればいいんだ?
93デフォルトの名無しさん:2009/11/02(月) 00:37:19
recvの回数増やすというのはよくわからないが
受け付けた接続ごとに別々のスレッドを立ち上げるか
selectやpoll等を使ってひとつのスレッドですべての接続を捌くか
好きなほうを選べ
94デフォルトの名無しさん:2009/11/02(月) 02:12:48
スレッドで処理してる間に、パケット届くと取りこぼしそうだw
95デフォルトの名無しさん:2009/11/02(月) 02:37:43
はあ?
96デフォルトの名無しさん:2009/11/02(月) 03:33:19
UDPパケットを取りこぼしなく取り込みたいのですが
なにかいい方法ありませんか?
97デフォルトの名無しさん:2009/11/02(月) 09:59:52
あきらめれ
98デフォルトの名無しさん:2009/11/02(月) 10:28:49
>>96
取りこぼさないのは無理なので、取りこぼしたことを検出して回復を図る
99デフォルトの名無しさん:2009/11/02(月) 11:25:32
取りこぼしたくなければ素直にTCP使っとけ
UDPにするなら取りこぼしてもいいようにプログラム側を設計しろ
っていうのが定型文的な解答
100デフォルトの名無しさん:2009/11/02(月) 15:29:39
決してしてはならないのは
「Ethernat直結でしか使わないからUDPでも取りこぼしなんて起きないだろう」
などと考えること。これをやってハマる初心者が意外に多くて困る。
101デフォルトの名無しさん:2009/11/02(月) 16:09:27
同時にパケット発射すれば簡単に消えるしな。
102デフォルトの名無しさん:2009/11/04(水) 18:16:51
マルチスレッド鯖製作中なんだけど
誰かからデータ受信したら送信してきた相手以外の
クライアントにそのデータを送るにはどうしたらいいの?
103デフォルトの名無しさん:2009/11/04(水) 18:29:17
言葉どおりにやればいい
104デフォルトの名無しさん:2009/11/04(水) 18:31:15
受信したことを別スレッドに通知するにはどうすればいいの?
105デフォルトの名無しさん:2009/11/04(水) 19:14:21
通知を受け取りたい各スレッドごとにキューのようなデータ構造を何か用意する
通知を送りたいスレッドは宛先スレッドのキューに送りたいデータを置く
通知を受け取りたいスレッドはヒマなときに自分のキューを見てデータが来ていたら取り出す
OSによってはそういったメッセージキューの機能をすでに持っていることもある
自分で作る場合はスレッドセーフにすることを忘れずに
106デフォルトの名無しさん:2009/11/04(水) 19:29:06
難しいこと考えないで、
受信したスレッドが全部のソケットに書けばいい
排他が気になるなら、ひとつmutexをロックしておけばいい
107デフォルトの名無しさん:2009/11/04(水) 19:30:21
>>102
その質問そのものをコードにしてみればいいじゃないか(受け取ったデータを他に転送)
リソース競合には気をつける必要があるけど処理自体はおまいの質問そのものだぞ
108デフォルトの名無しさん:2009/11/04(水) 19:32:41
>>102
何か効率の良い方法とか、そういうライブラリの存在を訊きたいのかもしれないが
そのレベルだとどちらの意味でもがんばって送信しやがれってレベルでしかないぞ。
109デフォルトの名無しさん:2009/11/04(水) 22:04:39
>>106
スレッドに値渡ししたら次のアクセプトで変数上書きしてて
受信したスレッドは、送信する相手のソケットを知ることができないんだ
だから他のスレッドに通知してそのスレッドから送信させようかなと

グローバルの配列で管理しておかないとだめってことか


110デフォルトの名無しさん:2009/11/04(水) 22:13:09
配列というか上に書いてある通りキューだろ
(キューの実装は配列でもいいけれど)
111デフォルトの名無しさん:2009/11/04(水) 22:36:17
でもそれってrecvをノンブロックのしないといけないんでしょ?
112デフォルトの名無しさん:2009/11/04(水) 22:56:51
そんなこと関係ない。
113デフォルトの名無しさん:2009/11/05(木) 00:15:28
どういうこと
ノンブロックで受信とそのキューとやらのチェックをポーリングさせるってことじゃないのか
114デフォルトの名無しさん:2009/11/05(木) 01:33:27
1接続しか許さないサーバプログラムを作る方法を教えてくだちい
listen()でバックログを1にしてaccept()した瞬間にlistenソケット閉じて
ってやればいいかと思ったけど
acceptする前にどんどん接続を受け付けやがる
115デフォルトの名無しさん:2009/11/05(木) 02:47:46
接続待ち受けのソケットでそのまま通信すればいいんじゃね?
116デフォルトの名無しさん:2009/11/05(木) 04:37:56
システムコールに惑わされずにまずRFC読め
117デフォルトの名無しさん:2009/11/05(木) 08:47:12
同期用キューでも作って渡せばいい

詳しくはこっちだな
マルチスレッドプログラミング
http://pc12.2ch.net/test/read.cgi/tech/1253521167/
118デフォルトの名無しさん:2009/11/05(木) 09:01:16
>>114
無理なOSは無理なんで諦めてください。

あらかじめ双方のポート番号が分かっているなら
双方からconnectって手があるけど。
119デフォルトの名無しさん:2009/11/05(木) 09:02:35
>>113
お前がそう言う実装に拘る理由こそ、どういうこと?
120デフォルトの名無しさん:2009/11/05(木) 09:29:30
>>114
キミのやりたい事は完璧にはできない。
バックログを0にして、acceptしたらlistening socketをcloseする。
これでもacceptしてからcloseするまでの間は接続を受け付けてしまう。

>>118
可能なOSを例示してくれ。今まで聞いたことが無いから知りたい。
121デフォルトの名無しさん:2009/11/05(木) 09:41:41
昔のvxWorks
122デフォルトの名無しさん:2009/11/05(木) 10:01:50
>>118
双方からconnectってなんだよ。
123デフォルトの名無しさん:2009/11/05(木) 10:46:35
ポート食いつぶし攻撃か?
124デフォルトの名無しさん:2009/11/05(木) 11:55:49
マイコンのプロトコルスタックを作ってる最中なのだがちょっと質問。

データ送信したとき全くの正常ならば
相手から返ってくるAcknoledgeNumber=自分が送信したSequenceNumber+TCPデータ長
となる筈なんだろうけど、この相手のACKパケットに入ってるAcknoledgeNumberが和より少ないときってこっちは何をすれば良いんだ?
もらったAcknoledgeNumberの分までは正常と見なして続きから送り直せばいいのかね?
125デフォルトの名無しさん:2009/11/05(木) 15:25:59
>>124
そんなもんは気にせずに window size が 0 になるまで無理やり送りつけるんだ
126デフォルトの名無しさん:2009/11/05(木) 17:43:56
マイコンに限らず再送バッファの大きさに支配されると思う
再送バッファサイズ<=窓までは送れる
127デフォルトの名無しさん:2009/11/05(木) 22:18:00
>>126
最後は再送バッファサイズの問題とかスロースタートの問題には
行き当たるんだろうけど、プロトコル的には送ったもん勝だわな

128デフォルトの名無しさん:2009/11/06(金) 02:03:33
>>122
host1: socket→bind→connect
host2: scoket→bind→connect

TCPの接続開始ハンドシェイクはこういうやり方でも可能。
129デフォルトの名無しさん:2009/11/06(金) 22:03:48
意味が分からん。
ソースで示して>128
130デフォルトの名無しさん:2009/11/07(土) 13:54:24
横着しないで RFC 位読め
131デフォルトの名無しさん:2009/11/07(土) 14:48:44
UDPって「取りこぼし」だけじゃなくて「送りそこね」もあるんだよな
132デフォルトの名無しさん:2009/11/07(土) 16:41:10
途中で捨てられたも多い。取りこぼしだと届いてるのに拾えなかった感が有るが、そもそも届いてない。
133デフォルトの名無しさん:2009/11/08(日) 21:50:24
Windowsでネットワークアドレスの違うIPアドレスへ強制的に
UDPのパケットを送る方法って無いでしょうか?
SetIpNetEntry()で静的arpに登録して送っても駄目みたいでした。
(たぶん送信時に跳ねられている)
134デフォルトの名無しさん:2009/11/08(日) 23:07:35
arpコマンドで登録すればいいんじゃ?
135デフォルトの名無しさん:2009/11/09(月) 00:10:05
>>134
SetIpNetEntry()を呼ぶのと、arpコマンド実行は同じ事だと思うけど、
試しにpingとwireshark使ってやってみました。

Destination host unreachable.
と出て、相手には何も届いてないですね。
しかも、Windows7でやると特権がいるとかでエラーになるし、
諦めてブロードキャストで送ることにします。
136デフォルトの名無しさん:2009/11/09(月) 08:54:56
ftpでファイルを送受信することになりました
こっちも相手側もクライアントとサーバになります
VC(MFC)でプログラムを作ろうと思いますが
どうやって作っていいかわかりません
クライアント側はサーバーに接続して
ファイルを転送する?イメージがあります。
検索するとCFtpConnectionをつかって作るのがわかりました
でもサーバー側ってどうやって作るんでしょうか?
どこかにサンプルとかヒントはありませんか?
137デフォルトの名無しさん:2009/11/09(月) 09:38:23
ファイルが転送できればいいのかFTPプロトコルを実装したいのか
138デフォルトの名無しさん:2009/11/09(月) 10:18:54
多分ファイル転送ができればいいです
プログラムでファイルをリモートのPCに送りたいのと
相手側がいつでもファイルをこちら側に送れるように
ftpサーバー機能があればいいです
139デフォルトの名無しさん:2009/11/09(月) 10:21:10
>>133
違うネットアドレスへ送ろうとする場合、arpはgateway
に対してだよ?routeはどうなってるの?
140デフォルトの名無しさん:2009/11/09(月) 10:39:50
>>138
では
http://www.geekpage.jp/programming/winsock/
をちょこっと見ればできますね
141デフォルトの名無しさん:2009/11/09(月) 11:07:33
>>140
ありがとうございます
見てみましたがftpについては見当たりませんでした
ftpサーバとしてftpクライアントの要望にこたえる例とかしりませんか?
142デフォルトの名無しさん:2009/11/09(月) 11:10:23
サーバなんて既存のやつ使えばいいじゃない
サーバもクライアントも作るなら特定のプロトコルにこだわる必要もないだろう
143デフォルトの名無しさん:2009/11/09(月) 11:11:38
だめだこりゃ
144デフォルトの名無しさん:2009/11/09(月) 11:13:14
あとMFCならこういうのでどうか
ttp://www.codeproject.com/KB/IP/CFtpServer.aspx
145デフォルトの名無しさん:2009/11/09(月) 11:18:28
>>142
一応売り物にするのでフリーのは問題ある?のではないかと思ってます
システムに組み込んで売っても問題ないフリーソフトとかありませんか?

>>144
ありがとうございます
参考にサンプル落とし見ようとしたら登録が必要なようですorz
英語はわからなくて…すみません
146デフォルトの名無しさん:2009/11/09(月) 11:25:49
多少の英語も出来ずにプログラマやってるのかよ
147デフォルトの名無しさん:2009/11/09(月) 11:28:01
もうRFC959読んで自前で実装しちゃいなよ
日本語訳もあったはずだ
148デフォルトの名無しさん:2009/11/09(月) 11:48:47
>>145
BSDライセンスのFTPサーバ。FreeBSDのとか。
まあ機能限定で実装すれば自前でも簡単だけど。
149デフォルトの名無しさん:2009/11/09(月) 11:54:27
>>148
ありがとうございます
ちょっと調べてみます

自分でいろいろ調べてたらXPにもftpサーバがあるみたいなのですが
XPのを使うのとフリーのftpサーバ使うのは全然違う意味ですか?
XP標準にあるならそっちのが楽なのかなぁ?と思ったりしてます
150デフォルトの名無しさん:2009/11/09(月) 12:03:14
>>149
IISのこと?
151デフォルトの名無しさん:2009/11/09(月) 12:04:52
IISはXPのProにはあるけどHomeには無いから気をつけて
152デフォルトの名無しさん:2009/11/09(月) 12:09:04
>>150
そうです
XP Proを使う予定でs
153デフォルトの名無しさん:2009/11/09(月) 17:17:07
初心者極まりない質問で申し訳ないですが、お願いします。

VB6.0のwinsockオブジェクトを用いて、出来合いのサーバ(ORCA_CLAIM)に
データを送信するプログラムを作成してます。
ポートとアドレスを指定して送りたいデータを送信し、
ただクローズするだけなのですが、送信後にサーバのステータスが
CLOSE_WAITになったまま消えてくれません。
(# netstat -nap localhost などで確認)
そうなると再送信してもポートが現在使用されていますと出て、
エラーを返すのでとても困っています。
サーバソフトの製作元にもたずねて見ましたが、そんな現象はありえないと
いうお話でしたので、どうもこちら側に決定的な原因があるようです。

状況説明がうまくないようでしたら申し訳ありません。
何か、ありがちなミスなどありましたらご指摘よろしくお願いします。
154デフォルトの名無しさん:2009/11/09(月) 17:41:20
winsock1.closeはしてるの?
155デフォルトの名無しさん:2009/11/09(月) 17:51:47
IISに投げてみたけどCLOSE_WAITにはならないよ

Option Explicit

Private Sub Command1_Click()
  Winsock1.LocalPort = 0
  Winsock1.RemoteHost = "localhost"
  Winsock1.RemotePort = 80
  Winsock1.Connect
End Sub

Private Sub Winsock1_Close()
  Winsock1.Close
End Sub

Private Sub Winsock1_Connect()
  Winsock1.SendData "GET / HTTP/1.0" & vbCrLf & vbCrLf
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
  Dim s As String
  Winsock1.GetData s
  MsgBox s
End Sub
156デフォルトの名無しさん:2009/11/09(月) 18:47:40
同じ質問を過去に見たんだが、解決方法忘れてしまった
VBスレの人なら知ってる人いるんじゃない?
157デフォルトの名無しさん:2009/11/09(月) 19:29:30
>>153です。皆様レスをつけていただいて有難うございます。

>>154
うーん。Winsock1.closeはやっているのですが、反応がないようです。
>>155
すいませんサンプルソースまで書いてもらって、助かります。
私のソースもだいたいそのような感じなのですが、見直してみることにします。
>>156
有力情報有難うございます。
そちらの方にも尋ねてみることにします。
158デフォルトの名無しさん:2009/11/09(月) 20:08:45
>>157
どちらが先にクローズする仕様なの?
159デフォルトの名無しさん:2009/11/09(月) 23:25:49
レス有難うございます。

>>158
http://www.orca.med.or.jp/receipt/tec/dev/soft/claim.rhtml

の(2)によると、送信した側がsocket closeと書いてあるようですので
こちら側(送信側)がCloseしなければいけないのかなと考えています。
160デフォルトの名無しさん:2009/11/09(月) 23:38:25
closeする前にサーバのACK/NAK応答は受信したのかと
161デフォルトの名無しさん:2009/11/09(月) 23:41:31
言っとくがTCPじゃなくてアプリレイヤーの話だぞ?
>>159のシーケンスをちゃんと嫁
162デフォルトの名無しさん:2009/11/09(月) 23:45:18
見落としてるだけだろ
アホとしか
163デフォルトの名無しさん:2009/11/10(火) 00:01:16
>>159
これだとCloseイベントでcloseしたほうがいいかもしれない。
>>155のように
164デフォルトの名無しさん:2009/11/10(火) 00:32:37
closeしなくてもほっときゃ切れるだろ
165デフォルトの名無しさん:2009/11/10(火) 01:37:03
socketは全二重
送る側だけまずshutdown
読む側でEOFまで全て読み終わるのを確認してからclose
これはちゃんとやって
166デフォルトの名無しさん:2009/11/10(火) 09:17:58
皆様何度も返信してくださって
厳しいながらもありがたい限りです

>>160
そちらの受信は確認しております。
>>161
アプリレイヤーとTCPの違いがまだよく分かっていないのですが、
そこの部分は調べてみます
>>163
ちょっとその手法でやってみます
>>165
shutdownはwinsockメソッドにはなく、
http://www.int21.co.jp/pcdn/vb/noriolib/vbmag/9802/winsock/
で見ました。全文読んでいないのでなんともいえませんが、
まだ使い方が不明なので調査してみます。
167デフォルトの名無しさん:2009/11/10(火) 23:40:54
>>166
> shutdownはwinsockメソッドにはなく、

何言ってるかわからない。
書く側だけまずshutdownしろってのは、
winsockのFAQの初心者向け項目に書いてあること。
168デフォルトの名無しさん:2009/11/10(火) 23:47:48
良くこれで仕事が出来るな・・・
169デフォルトの名無しさん:2009/11/11(水) 00:04:43
とりあえずWiresharkで
双方の FIN → FIN,ACK → ACK のどこまで出てるか見てみたら?
170デフォルトの名無しさん:2009/11/11(水) 05:43:11
サーバの開発元に質問するほうもアレだが、ありえないと回答するのもひどいな。
お互い良くそれでプログラマって言えるよな。
171デフォルトの名無しさん:2009/11/11(水) 18:13:12
IdBaseComponent,
IdComponent,
IdTCPConnection,
IdTCPClient,
IdHTTP
IdException

このへんのコンポーネントってIndyですか?
172デフォルトの名無しさん:2009/11/11(水) 18:18:28
Indyですね
173デフォルトの名無しさん:2009/11/11(水) 18:27:53
>>172
ありがとう

IdってIndyって意味だったのか
コンポーネントないからビルドできねぇ
174デフォルトの名無しさん:2009/11/11(水) 23:35:50
>>153
> CLOSE_WAITになったまま消えてくれません。
サーバ側のCLOSE_WAITは全く関係ない。お前の作ったクライアントがダメなだけ。

> 何か、ありがちなミスなどありましたらご指摘よろしくお願いします。
自分のバグを他人の所為だと思いたがる態度が、初心者にありがちな重大なミス。

bindしてるだろ。
175114:2009/11/12(木) 01:33:52
>>120
やっぱ無理だよな、ありがとう

>>118
相手がわかってればいいんだけどねぇ
176デフォルトの名無しさん:2009/11/12(木) 07:44:31
>>128
それじゃ3-wayハンドシェイクが成立しないだろ。可能だと主張するなら動作するサンプルコードを。
177デフォルトの名無しさん:2009/11/12(木) 08:50:27
>>176
RFC に双方 connect() 時のシーケンス載ってるが?
178デフォルトの名無しさん:2009/11/12(木) 09:01:03
>>176
RFC793 の figure 8 だけど、rfc1122 でその図の間違
いが訂正されてる。

  4.2.2.10  Simultaneous Open Attempts: RFC-793 Section 3.4, page
            32

            There is an error in Figure 8: the packet on line 7 should
            be identical to the packet on line 5.

            A TCP MUST support simultaneous open attempts.

            DISCUSSION:
                 It sometimes surprises implementors that if two
                 applications attempt to simultaneously connect to each
                 other, only one connection is generated instead of two.
                 This was an intentional design decision; don't try to
                 "fix" it.

179デフォルトの名無しさん:2009/11/12(木) 09:25:14
> This was an intentional design decision; don't try to "fix" it.
うわっ、強引。決めたんだからなおすな。
180デフォルトの名無しさん:2009/11/12(木) 09:37:37
>>179
違う違う。「実装者は双方同時 open の結果として一つ
しかコネクションが出来ないことに驚くかもしれないが、
これはそうなるように『設計』されているので直そうと
するな」ということ。
181デフォルトの名無しさん:2009/11/12(木) 10:28:32
コネクションが2つでなく1つなのは「そのように決めたんだからなおすな」って事でしょ。
なんで、そのように決めたんだろう。

という事は置いておいて、これは同時にconnectが発生した(例外的な)場合に関しての
規定であって、>>118が言ってるような狙ってできるってもんじゃないよね。
182デフォルトの名無しさん:2009/11/12(木) 10:29:35
>>174
>自分のバグを他人の所為だと思いたがる態度が、初心者にありがちな重大なミス

逆に自分のせいだと思って散々調べたら自分のせいじゃ無かったってのもよくある
まずは切り分けが大事と思い知らされた
183デフォルトの名無しさん:2009/11/12(木) 10:44:42
>>181
> 狙ってできるってもんじゃない

普通は RST が返るからってこと?
184デフォルトの名無しさん:2009/11/12(木) 11:05:05
>>181
>なんで、そのように決めたんだろう。
同じIPアドレス、ポート番号のペアを持つコネクション
は同時に複数存在できませんから。
185デフォルトの名無しさん:2009/11/12(木) 11:18:53
一方のコネクションが確立した後では、1本のコネクションにはならないでしょ。
186デフォルトの名無しさん:2009/11/12(木) 11:22:01
>>184
なるほど、接続するという選択肢を取るならそのように決めるしかないわけか。
接続しないという選択肢もあったわけだけど、そっちは採用しなかったと。
187デフォルトの名無しさん:2009/11/12(木) 22:30:35
双方がwell knonw portになってから接続を開始しているわけだから、
四つ組みが決定している。一つの接続になるのが、設計上当然の帰結。

>>183
いや再送されたのと区別がつかない。
(IPタイムスタンプオプションとかない限り)
それに普通のOSではREUSEADDRしたら、
前のは無効になる。
188デフォルトの名無しさん:2009/11/13(金) 10:31:37
よくわからないレベルで仕事って確実に地雷だなw
189デフォルトの名無しさん:2009/11/13(金) 11:26:24
結局サンプルコードはまだ?まさか>>128じゃないよね
190デフォルトの名無しさん:2009/11/13(金) 12:06:33
RFCだけ読んで「キリッ」って奴がいかに多いか分かるな
実際のコーディングはまったくできないと。
191デフォルトの名無しさん:2009/11/13(金) 12:24:58
自分が仕事出来ないのを棚に上げて人のせいにする奴もいるしな
192デフォルトの名無しさん:2009/11/13(金) 14:55:17
rfcも実際のコード実装例を描いてくれればいいのだがな。
そういうサイト作ると需要有るのか?
193デフォルトの名無しさん:2009/11/13(金) 15:25:53
>>189
> まさか>>128じゃないよね

>>128 で何か不足してる?

TCP/IP の同時 open は、よくある TCP/IP の状態遷移
図で通常サーバ側とクライアント側で違う経路を通ると
ころを両方ともクライアント側の遷移を通るんだから
>>128 であってる。

スティーブンス本のどれかで実際のプログラムと実行例
が載ってたよ。但し、双方の SYN が交差する位には充
分に遅い経路を使う必要があったと思う。
194デフォルトの名無しさん:2009/11/13(金) 16:24:19
>>193
listenしなくて良いのか?
195デフォルトの名無しさん:2009/11/13(金) 16:35:49
>>194
> listenしなくて良いのか?

listen したら駄目なんだけど?
196デフォルトの名無しさん:2009/11/13(金) 16:48:04
ほい、スティーブンス本での同時 open の話と実行例。

http://books.google.com/books?id=-btNds68w84C&pg=PA251

上で使われてる sock プログラムのソースコード。

http://www.icir.org/christian/sock.html

listen() を呼び出している servopen() は -s オプショ
ンが無いと実行されないけど上の例では -s ついてない
でしょ。
197デフォルトの名無しさん:2009/11/14(土) 00:43:24
cygwinでsockコマンドコンパイルしてlocalhostでやってみたけど、
確かに同時に実行するとconnect成功するね

・・・同時に実行しなければ繋がらないってのは、ちょっと面白いな
198デフォルトの名無しさん:2009/11/14(土) 17:23:34
遂にgoogle booksを参照する時代になったか。
199デフォルトの名無しさん:2009/11/14(土) 17:31:32
結局、元質問(>>114)を実現する事はsocketプログラミングの範囲ではできないという結論だね。
200デフォルトの名無しさん:2009/11/14(土) 18:08:03
できるだろ。釣りかよw
201デフォルトの名無しさん:2009/11/14(土) 18:23:33
listenの実装を自分で書き換えればいいだろ
202デフォルトの名無しさん:2009/11/15(日) 00:05:59
>>200
動作するサンプルを。
203デフォルトの名無しさん:2009/11/15(日) 01:21:09
>>201
socket.h内のSOMAXCONNを1にしたらひどぅい目に遭いましたw
実装の書き換えまで手を出すのは正直無理ぽですね。
204デフォルトの名無しさん:2009/11/16(月) 04:45:47
ttp://x68000.q-e-d.net/~68user/net/c-http-1.html
このページを参考に1回connectに成功したらaspxファイルのヘッダとボディのデータを
分けて要求するプログラムを作ったのですがボディのデータを要求するとコネクションが切断されているのかread関数が0を返します。
close関数を使っていなくても1回データを要求したら切断されてしまうものなのでしょうか。ソースは次のレスに記載します。
205デフォルトの名無しさん:2009/11/16(月) 04:48:30
char path[100],buf[1000],host[]="www.nurupo.jp";
struct hostent *servhost;struct sockaddr_in server;struct servent *service;int s,read_size;

servhost = gethostbyname(host);bzero(&server,sizeof(server));server.sin_family = AF_INET;
bcopy(servhost->h_addr,&server.sin_addr,servhost->h_length);server.sin_port = htons(80);
s = socket(AF_INET,SOCK_STREAM,0);connect(s,(struct sockaddr *)&server,sizeof(server))

sprintf(path,"HEAD /gga.aspx HTTP/1.0\r\n\r\n");
write(s,path,sizeof(path));
while(1){
read_size = re ad(s,buf,sizeof(buf));
if(read_size > 0){write(1,buf,sizeof(buf));}
else{
break;}}

sprintf(path,"POST /gga.aspx HTTP/1.0\r\nContent-Length: 10\r\n\r\nnurupo=gga\r\n\r\n");
write(s,path,sizeof(path));
while(1){
read_size = read(s,buf,sizeof(buf));
if(read_size > 0){write(1,buf,sizeof(buf));}
else{break;}}
close(s);
206デフォルトの名無しさん:2009/11/16(月) 05:00:41
>>204>>205です。
if(read_size > 0){write(1,buf,size_of(buf))}
の行のsize_of(buf)はread_sizeでした。
すいません…
207デフォルトの名無しさん:2009/11/16(月) 05:42:52
HTTP/1.0
RFC1945

1.1は2616
208デフォルトの名無しさん:2009/11/16(月) 09:05:10
>>204-205
HTTP/1.0はそのように決められている。
HTTP/1.1ではPersistent Connectionsというのがあるが、使い方はかなり難しい。
209デフォルトの名無しさん:2009/11/16(月) 09:17:41
別に難しくは無いさ。
リクエストとレスポンスを交互に繰り返すだけであれば。

終端だって、どうやって判断すればよいかちゃんとRFCに書いてある。
chunkの読み出しも、そのまま実装するだけ。
210デフォルトの名無しさん:2009/11/16(月) 11:04:36
嘘つきサーバが多いから難しい。
211デフォルトの名無しさん:2009/11/17(火) 02:24:14
テスト
212デフォルトの名無しさん:2009/11/17(火) 15:47:40
>>204です。
お返事ありがとうございます。
RFC2616やグーグルしたところ、HTTP/1.1はHost: URLを記述しなければいけないとのことだったので
記述し、2回目のデータ要求ではConnection: Closeを記述したところ2回、データを要求することが出来ました。
2回目はBad Requestになってしまいますが。。
RFCを見て、少しやる気をなくしてしまいましたが
出来たらネットワークの勉強に励み、この問題をいつかは解決したいと思います。
ありがとうございました。
213デフォルトの名無しさん:2009/11/20(金) 00:14:01
UDPのブロードキャストについて質問です
pythonとCで書いてます。(例はpythonで書きます)
ブロードキャストでデータを送りたいのですが、
setsockoptでSO_BROADCASTを有効にし、
# pythonの例
sock.sendto( data, ( "255.255.255.255", 1234 ) )
としても、受信側で受信できません。
# 受信側のIPアドレスは192.168.11.4
sock.sendto( data, ( "192.168.11.4", 1234 ) )
として、ユニキャストだと受信できることを確認しています。
環境はlinuxです。
ブロードキャストアドレスとして255.255.255.255を使うのは間違ってますか?
214デフォルトの名無しさん:2009/11/20(金) 03:25:47
それは自分の所属するサブネットの中なの?外なの?
215デフォルトの名無しさん:2009/11/20(金) 06:15:52
>ブロードキャストアドレスとして255.255.255.255を使うのは間違ってますか?

はい
216デフォルトの名無しさん:2009/11/20(金) 07:06:20
rootにならないとできないとかそういうのもあるよね。
217デフォルトの名無しさん:2009/11/20(金) 08:36:47
ブロードキャストアドレスとして192.168.11.255と設定してあるだろ。
それ使えよ。
218デフォルトの名無しさん:2009/11/20(金) 13:28:28
基本的にネットの負荷が上がるのでブロードキャスト非推奨。

つ ブロードキャストストーム
輻輳を検知するとポート綴じちゃうスイッチも有るよ。
219デフォルトの名無しさん:2009/11/20(金) 18:32:47
>>214
自サブネット内です。
>>215
はい
ありがとうございます
>>216
rootになっても変わりませんでした。
>>217
確かに/24で切ってるので、192.168.11.255も試したのですが変わりませんでした。

ハード的におかしいのかと思い、
192.168.11.4を持つマシン上で、サーバとクライアントを動かしたのですが、
結局受信しませんでした。
wiresharkでみるとパケットは観測されてたのですが・・・
220デフォルトの名無しさん:2009/11/20(金) 18:44:37
promiscus
221デフォルトの名無しさん:2009/11/20(金) 19:02:55
× promiscus
○ promiscuous
222デフォルトの名無しさん:2009/11/20(金) 23:24:41
>>219
受信側はどうバインドしてるの? 例えば'192.168.11.4’にバインドしてたらそのアドレスへのユニキャストしか受信出来ない。 ブロードキャストも受け取りたいならアドレスは'' (空文字列)でバインドしなければだめ。
223デフォルトの名無しさん:2009/11/21(土) 19:20:27
空文字列?
192.168.11.255にバインドするべきじゃないの?
224デフォルトの名無しさん:2009/11/21(土) 19:21:12
どうみても 0.0.0.0 にバインドです本当にありがとうございました
225デフォルトの名無しさん:2009/11/21(土) 19:39:22
まったく知識がないんだがどこから手をつければいいのか教えろカスども
226デフォルトの名無しさん:2009/11/21(土) 19:50:51
.255なんて使うなよw
227デフォルトの名無しさん:2009/11/21(土) 19:56:40
まずお前が何をしたいのか教えろよカスが
228デフォルトの名無しさん:2009/11/21(土) 19:57:53
SEXしたい;;
229デフォルトの名無しさん:2009/11/21(土) 20:06:44
おまえら!

N88ベーシックの時代を思い出せ!
使ってるだけじゃだめなんだよ!
利用者全員がプログラマーにならなきゃ世の中は良くならない!
そうだろうみんな!!
230デフォルトの名無しさん:2009/11/21(土) 20:07:39
食いっぱぐれます
231デフォルトの名無しさん:2009/11/21(土) 22:21:39
せんせー
IPアドレスからgethostbyaddrでホスト名とってくるプログラムをVC++(まあなんでも出来るが)で組んだのだけれど、
もし取ってこれなかった場合
>初回の例外が発生しました: 0x000006BA: RPC サーバーを利用できません。
みたいなのが出力パネルに無視して平気?
一応host名がNULLだった時の退避路はあるし、エラーでプログラムが止まるわけじゃないんだけど
なんかわざわざ一回づつ排出するもんだから気になって
232デフォルトの名無しさん:2009/11/21(土) 23:24:51
try catch
233デフォルトの名無しさん:2009/11/22(日) 02:37:25
234デフォルトの名無しさん:2009/11/24(火) 19:49:11
ソケット生成してbindした時点で、データが送られてくると
受信はされるのでしょうか?
そこから、recvformで取り出すといった感じなのでしょうか?

データを一定間隔で送信し、送信した結果複数の個所からデータが返ってくる
とした場合、最初に返ってきたデータだけをデータとして取り込みたいのですが
こういった場合、どうするのが最適でしょうか?
235デフォルトの名無しさん:2009/11/24(火) 20:32:30
bindってよく考えたら、0.0.0.0でbindしておけば
自分のIPが192.168.11.4でも recvfromで192.168.11.100 宛のデータも受信できるのでしょうか?
(ポート等は同じで、ARPで関連づけておくとして)
236デフォルトの名無しさん:2009/11/24(火) 20:44:28
promiscuous
237デフォルトの名無しさん:2009/11/24(火) 21:35:41
promiscuous は関係ない
238デフォルトの名無しさん:2009/11/24(火) 21:42:51
それより質問の仕方が悪い
239デフォルトの名無しさん:2009/11/24(火) 22:43:16
通常のモードだと自分のMAC宛のパケットしか受信できない
240デフォルトの名無しさん:2009/11/24(火) 22:56:11
>>239
ARPテーブル操作して、自分のmac向けに別のIPを関連づけたら届きますよね
そこで0.0.0.0をbindしておけば自分の今のIPとは違うデータまで受信できるということでしょうか?
241デフォルトの名無しさん:2009/11/24(火) 23:30:36
>>240
MAC判別はネットワークチップの機能だよ
242デフォルトの名無しさん:2009/11/24(火) 23:37:24
>>241
すみません、よくわかってないのですが
MAC判別がどう関係あるのでしょうか?
宛先mac自体は、本来の宛先macをarpテーブルで指定してやりますよね
243デフォルトの名無しさん:2009/11/24(火) 23:42:42
送信する相手のARPテーブルを操作するって事か

それが受信できるかどうかはIP層の実装仕様次第じゃないのか?
普通は出来ないと思うが・・・
244デフォルトの名無しさん:2009/11/24(火) 23:51:53
変なパケットは捨てるのが基本
245デフォルトの名無しさん:2009/11/25(水) 00:00:49
実装仕様とはNICに依存するのでしょうか?

でもmacアドレスはあってる、IP層のIPも送信元がARPテーブル操作してあってる
から届くはずだとはおもうんですが
246デフォルトの名無しさん:2009/11/25(水) 00:52:43
> ARPテーブル操作して、
どこのマシンのARPテーブルいじる気だよ。毒入りarp投げるのか?
オレの管理下で発見したら接続禁止だぞ。上司が土下座しなけりゃつなげさせない。

> そこで0.0.0.0をbindしておけば自分の今のIPとは違うデータまで受信できるということでしょうか?
IPってゆうな。クズ。

例え送信元のARPテーブル操作してパケットが届いたとしても出来ない。
0.0.0.0は自マシンのアドレスに対するワイルドカードだからだ。

もう一回言っておく。IPってゆうな。クズ。
247デフォルトの名無しさん:2009/11/25(水) 01:18:53
受信したいマシンが 192.168.11.100 というIPを持っていないから無理
RawIPでも使え
248デフォルトの名無しさん:2009/11/25(水) 01:28:28
IPってゆうな。クズ。
249デフォルトの名無しさん:2009/11/25(水) 01:37:02
単にアドレスって言うのもハンパだろ?
250デフォルトの名無しさん:2009/11/25(水) 01:45:49
IPアドレスを省略するときは単に「アドレス」って言う
IPは知的財産の省略形として稀に使うぐらい
251デフォルトの名無しさん:2009/11/25(水) 02:01:57
ネット盗聴ソフトか不正アクセスでもするソフトでも作ってるのかw
252デフォルトの名無しさん:2009/11/25(水) 03:27:17
>>235
環境による
>>240
環境による
253デフォルトの名無しさん:2009/11/25(水) 06:53:48
promiscuous
254デフォルトの名無しさん:2009/11/25(水) 07:32:45
>>246 >>247

>>252
さんがいうには、環境によってはできるとのことですが
255デフォルトの名無しさん:2009/11/25(水) 07:33:57
俺の自作スタックなら何でも出来る
256デフォルトの名無しさん:2009/11/25(水) 08:02:59
>>252
かなりめずらしい環境でないか? 組み込み系のマイナーな
スタックとか?
257デフォルトの名無しさん: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デフォルトの名無しさん:2009/11/25(水) 18:11:24
asyncも分かってないしselectも分かってないな
259デフォルトの名無しさん:2009/11/25(水) 20:36:58
ソケット生成してbindした時点で、データが送られてくると
受信はされるのでしょうか?
そこから、recvformで取り出すといった感じなのでしょうか?

データを一定間隔で送信し、送信した結果複数の個所からデータが返ってくる
とした場合、最初に返ってきたデータだけをデータとして取り込みたいのですが
こういった場合、どうするのが最適でしょうか?
260デフォルトの名無しさん:2009/11/25(水) 20:48:26
スタックって自作できるのでしょうか?
スタックを自作すれば、L1レベルから入ってきたデータを好きなように取り込めるのでしょうか?
261デフォルトの名無しさん:2009/11/25(水) 21:07:50
IEの仕様書はどこにありますか
MicroSoftのサイトの情報見ても全然かゆいところに手が届かない
262デフォルトの名無しさん:2009/11/25(水) 21:23:21
>>259
TCPだとそうだね。acceptしてからだけど。
他のは捨てたいって事なら読んでから捨ててクローズすればいい。
読まずに捨てたいってことなら、それはやらない方がいい。
理由はFAQ読んで。上にも話題に出てる。
263デフォルトの名無しさん:2009/11/25(水) 21:24:03
>>260
> スタックって自作できるのでしょうか?

あなたの能力次第。
264デフォルトの名無しさん:2009/11/25(水) 21:25:05
>>259
お前はまずProgramming UNIX Socket FAQを全部嫁。

>>260
できないと思うのなら、それはお前の知識が無いからだ。

>>261
ないんじゃないの?何が知りたいの?
265264:2009/11/25(水) 21:25:51
うお、かぶりまくったぜ。
266デフォルトの名無しさん:2009/11/25(水) 22:10:46
>>264
FAQよんだのですが、bindした時点でデータがきているかはのってないのですが
267デフォルトの名無しさん:2009/11/25(水) 22:38:57
>>266
自覚して無いかもしれないが、日本語に難ありすぎて意味不明
268デフォルトの名無しさん:2009/11/25(水) 22:42:18
おそらく
「bindしたあと、recvfromをする前に到着したメッセージは
全て、その後の recvfrom で読み出せるのか?」
と質問したいんだろう
269デフォルトの名無しさん:2009/11/25(水) 23:10:46
>>260
BSDのドライバのソースを読む
Linuxはダメ!絶対
270デフォルトの名無しさん:2009/11/26(木) 09:12:07
257です。
>「リスニングソケットにFD_READなどを設定しておくと、そのリスニングソケットでacceptされたソケット全部にFD_READが自動的にセットされる」
これが仕様に基づく正しい動作であることを、英語版MSDNページで確認しました。
271デフォルトの名無しさん:2009/11/26(木) 11:52:31
こんな何の情報もくれないスレに、律義だなぁ
272デフォルトの名無しさん:2009/11/26(木) 11:55:16
Arduinoとイーサネットシールドを勉強すれば
プロトコルスタックも作れるよ
273デフォルトの名無しさん:2009/11/27(金) 00:25:46
IE8に導入されたInPrivateブラウズって、保存済みのクッキーすら読み込んでくれないん?
クッキーは保存してあるのにリクエストに含まれてこない。
本家サイトみても、”新しくクッキーを保存することはないよん”としか書いてなくてよくわからん。
274デフォルトの名無しさん:2009/11/27(金) 07:14:43
c+winsockでHTTPプロキシ作ろうとしてるんだが
ブラウザから送られてきたhostヘッダの部分を接続先にして
データを受け流す、みたいな感じでいいのか?
その場合httpsの通信はどうするの?
275デフォルトの名無しさん:2009/11/27(金) 07:50:13
hostヘッダがないときでも相手につながないといけないわけだが
276デフォルトの名無しさん:2009/12/01(火) 22:58:35
ブロードキャストで送信しているソケットで、受信もしていて

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

同じネットワークにブロードキャスト送信できる数とかに制限あるのかな
277デフォルトの名無しさん:2009/12/02(水) 00:39:07
TCP/IPにはそのような制限はない。
WinsockやVBについては知らないので他の人お願い。
278デフォルトの名無しさん:2009/12/02(水) 00:50:18
知らないなら黙ってればいいのに
279デフォルトの名無しさん:2009/12/02(水) 04:36:18
そりゃブロードキャストで送ればネットワークに負担がかかるし、不要なPCにもパケット送りつける事になってしまうからなあ。
280デフォルトの名無しさん:2009/12/02(水) 13:41:20
だから何だよ?
281デフォルトの名無しさん:2009/12/02(水) 15:18:33
ブロードキャストって何?
282デフォルトの名無しさん:2009/12/02(水) 17:14:15
放送
283デフォルトの名無しさん:2009/12/02(水) 19:57:05
PC-HUB-PC でUDPにてお互い同時に周期的に送信していて、たまにパケットが喪失するのですが
これってどんな原因が考えられますか?
284デフォルトの名無しさん:2009/12/02(水) 20:16:18
気にする方向を間違えている
その件に関して我々は原因を追究するべきではない
285デフォルトの名無しさん:2009/12/02(水) 20:24:28
>>283
天使の取り分
286デフォルトの名無しさん:2009/12/02(水) 21:46:07
udpでもtcpでもパケットは消失するものなんだよ。
tcp: osがどうにかしてくれる。
udp: 自分でどうにかするか諦める。
287デフォルトの名無しさん:2009/12/02(水) 21:52:35
ただ、HUBを介して単純に超近くのネットワークなのに、他にそのパソコン以外通信なし
でも頻繁に損失するものなのかなーとおもいまして

何回に1回とか大体の確率っておおよそでいいからわかるのかなぁ
288デフォルトの名無しさん:2009/12/02(水) 21:56:49
消失が完全に予測出来るなら暗号に使えるな
289デフォルトの名無しさん:2009/12/02(水) 22:01:07
LAN側に古いハブ使ってるがコリジョンランプがガンガンつきまくってる
仕組みはよくわからんが、よく通信できてるもんだと関心するほどだ
290デフォルトの名無しさん:2009/12/02(水) 22:51:42
HUBを介すのと介さないのでは喪失しやすくなったりするのかね
291デフォルトの名無しさん:2009/12/02(水) 23:15:48
お互いに交互に投げ合ってるならぶつからないだろうけど
同時に投げてるならぶつかるんじゃないのか?
292デフォルトの名無しさん:2009/12/03(木) 00:03:33
交互に投げ合っててもいつか同時のタイミングが発生しそうな
293デフォルトの名無しさん:2009/12/03(木) 00:11:30
CSMA/CDか
久しぶりに思い出したんで忘れかけてたよ
294デフォルトの名無しさん:2009/12/03(木) 00:22:50
>>290-292
お前等スイッチングハブの「スイッチ」の意味知らないだろ。
パーフェクトシャッフルとかバタフライネットワークとか。
295デフォルトの名無しさん:2009/12/03(木) 00:25:44
なにはともあれ、今つかってるバカハブは捨てるべきだな。俺。
末端のTVとDVDレコ用だけど・・・
296デフォルトの名無しさん:2009/12/03(木) 00:36:53
PC−PC のように単純にケーブル1本でお互い送受信していても
UDPならパケットの衝突か消失がありうるということ?
297デフォルトの名無しさん:2009/12/03(木) 00:44:04
何がおこってもおかしくはない
ノイズやバッファオーバーなど色々あるんじゃない?
UDPがそれらに保障されてないんだから、プログラマとしてはそれを考慮してプログラムを組むしかない
298デフォルトの名無しさん:2009/12/03(木) 00:50:43
>>296
ループバックインターフェースでも消失はありうる。
299デフォルトの名無しさん:2009/12/03(木) 01:00:56
>>297
バッファオーバーはデータのサイズを小さくもてば少なくなるのかなぁ
ノイズでそんなに頻繁になくなるのかな PC-PCとかでも

1分間に10回ほど消失するって大きい?
300デフォルトの名無しさん:2009/12/03(木) 01:20:10
今では低速なRS232Cでも電気的に失敗することはある
クロックだのなんだの、下位の仕事してたころにはこれでいいのかなと疑問に思いながら作ってたもんだ…
もちろん通信の失敗を考慮してプログラムしてたが
301デフォルトの名無しさん:2009/12/03(木) 01:52:47
今時ノイズは余り関係ない。イーサネットで距離も短ければ。
302デフォルトの名無しさん:2009/12/03(木) 02:02:47
プログラム組む側としては、そんな話はどうでもいいんだって。
303デフォルトの名無しさん:2009/12/03(木) 02:05:58
距離も短くノイズも関係ないとすればたかだがPC間伝送でパケット消失する理由って・・・
304デフォルトの名無しさん:2009/12/03(木) 02:10:04
バッファなりなんなり能力以上の処理が必要になれば当
然パケットは落ちる。忙しい状況は自分のプログラムと
は無関係に発生するかも知れない。TCP は再送する。
UDP は再送しない。
305デフォルトの名無しさん:2009/12/03(木) 08:35:33
バカハブは貴重品だぞ。
簡単には手に入らないが価値をしらないバカの手元にあるのはもったいない。
306デフォルトの名無しさん:2009/12/03(木) 09:22:54
スニファ作るとか?
307デフォルトの名無しさん:2009/12/03(木) 09:24:49
開発用にリピータハブ重宝しております
308デフォルトの名無しさん:2009/12/03(木) 11:12:41
>>299
ping 1時間くらい投げ続けてlossどれくらい?
309デフォルトの名無しさん:2009/12/03(木) 17:30:01
初歩的な質問ですいません。
よくある「"ABCDEFGH"と送信しても"ABC""DE""FGH"と3回で受信されることもある」という例ですが、
この例は送信がTCP/UDPレベルで計3パケットに分割されたということなるのでしょうか?
310デフォルトの名無しさん:2009/12/03(木) 17:31:36
送信かもしれない
途中の道かもしれない
受信かもしれない
311デフォルトの名無しさん:2009/12/03(木) 17:33:06
逆に2回にわけて送ったやつがくっついてることもある
312デフォルトの名無しさん:2009/12/03(木) 19:10:15
既にクローズされてるソケットにclosesocket使ったらエラーで強制終了される?
313デフォルトの名無しさん:2009/12/03(木) 19:25:44
エラーだが強制終了されない
314デフォルトの名無しさん:2009/12/03(木) 22:20:48
>>309
UDPならAPIレベルでは分割されないよ。
データグラム通信を提供するサービスだから。
315デフォルトの名無しさん:2009/12/04(金) 00:44:49
何か障害出まくるアプリケーションが多いのがよくわかるスレだ。
絶対はないから、ちゃんと回避手順を考えてプログラム組むべき。
エラーになったらどうするのか。想定してなかったので、そのまま終了じゃゴミ。
316デフォルトの名無しさん:2009/12/04(金) 22:21:18
オーストリッチアルゴリズム最強
317デフォルトの名無しさん:2009/12/11(金) 00:06:40
プロキシを作りたいのですが
どうやって作ればいいのでしょうか?

書籍とかあれば教えてください
318デフォルトの名無しさん:2009/12/11(金) 00:09:04
プロ棋士?
319デフォルトの名無しさん:2009/12/11(金) 00:10:07
どのような情報を盗み見たいの?それによって作り方変えないと
320デフォルトの名無しさん:2009/12/11(金) 00:17:04
>>319
透過プロキシ+多層です
321デフォルトの名無しさん:2009/12/11(金) 00:20:31
>>319
サイバー犯罪幇助で通報しますた
322デフォルトの名無しさん:2009/12/11(金) 02:48:29
つまり勝手にパケット横取りしてナニしたいと。
323デフォルトの名無しさん:2009/12/11(金) 03:10:33
誰かが串通して児ポとかダウンロードした日には死ねるなw
324デフォルトの名無しさん:2009/12/11(金) 03:24:38
透過プロキシ - Google 検索
http://www.google.co.jp/search?q=透過プロキシ
325デフォルトの名無しさん:2009/12/11(金) 09:08:36
326デフォルトの名無しさん:2009/12/11(金) 12:47:22
recvに渡した最大受信バイト数を超えるデータを受け取ると
文字列が途切れて文字列操作に支障が出ることがあるんだが
バッファサイズデカくするしか無いの?
327デフォルトの名無しさん:2009/12/11(金) 12:49:03
最大受信バイト数を超えるデータを受信するわけないじゃんw
328デフォルトの名無しさん:2009/12/11(金) 17:31:06
>>326
n回受信→連結 してから操作しちゃだめなん?

多分 TCP だと思うが、
分割されることだって(1回の send なのに 受け側は recv 2回になった)あるし
まとまることだって(2回の send が、受け側は recv 1回でまとまって読めた)ある
329デフォルトの名無しさん:2009/12/11(金) 19:04:45
>>326
バッファサイズをでかくするか、
自分でバッファリングするなりしてやらないとダメだよ
330デフォルトの名無しさん:2009/12/11(金) 22:14:24
proxyってどうやって作るの?
331デフォルトの名無しさん:2009/12/11(金) 22:31:27
そんなレベルの人には関係ありません
332デフォルトの名無しさん:2009/12/11(金) 23:39:31
アプリケーション層じゃなくて
なんとか層とかいうレベルの処理をするんだっけ?
333デフォルトの名無しさん:2009/12/11(金) 23:43:08
そうかお前らスキル低いから答えられないのか
それなら仕方ないな
334デフォルトの名無しさん:2009/12/11(金) 23:45:25
はいはいそうでちゅよ〜
335デフォルトの名無しさん:2009/12/12(土) 00:13:27
中途半端に教えたところでレベルの低い人間には無意味だしね
336デフォルトの名無しさん:2009/12/12(土) 00:35:31
UDPのrecvfromで、サイズを指定しますよね
そのサイズって、たとえば1400バイトのデータが送られてきて
recvfromの引数でサイズを400で指定してやると、400バイトだけ
バッファにため込みますよね

残りの1000バイトはどうなるのでしょうか?
次にrecvfromしたときに400バイトだけそこからまたよみこむのでしょうか?
337デフォルトの名無しさん:2009/12/12(土) 00:40:06
yes
338デフォルトの名無しさん:2009/12/12(土) 00:40:47
嘘を教える奴は最低な奴だと思う
339デフォルトの名無しさん:2009/12/12(土) 01:02:15
>>336
残りの1000バイトは粉みじんになって死んだ・・・
340デフォルトの名無しさん:2009/12/12(土) 01:04:35
では、1400バイトのデータが2回に分けて連続して送信されてきました。

2回送信されたあとに、recvfromで400バイト読んだとすると、
残りのデータはすべて消えるのでしょうか?
あるいは、3000バイト読めば全て読めるということでしょうか
341デフォルトの名無しさん:2009/12/12(土) 01:07:44
せめて試してから質問しろよな
342デフォルトの名無しさん:2009/12/12(土) 01:08:57
>>340
1回目の送信が1000バイト、2回目が400バイトだったとしよう。

1回目を400バイトのバッファで受信したら、残り600バイトはパァだ。
2回目の400バイトは・・・おめでとう、すべて受信出来たな。
343デフォルトの名無しさん:2009/12/12(土) 01:09:54
recvfrom 受信バイト - Google 検索
ttp://www.google.co.jp/search?q=recvfrom+受信バイト


344デフォルトの名無しさん:2009/12/12(土) 01:10:10
>>343
Opera使いか?
345デフォルトの名無しさん:2009/12/12(土) 01:13:52
>>1-7のテンプレは読んだのか?
346デフォルトの名無しさん:2009/12/12(土) 01:14:35
>>345
イミフ
347デフォルトの名無しさん:2009/12/12(土) 04:10:17
ipは途中でルータが処理するの辛く成ったら捨てていいよって通信手順だしな。
届かなきゃ、再送するしか無い。まあ再送しまくると余計にルータが辛く成って捨てられるけどなw
お利口なルータは捨てたら一応icmpで通知はしてくれる。ファイヤウォールとかでicmp捨ててたら当然届かないけどw
348デフォルトの名無しさん:2009/12/12(土) 11:14:57
>>342
バッファって、どこのバッファですか?
349デフォルトの名無しさん:2009/12/12(土) 12:07:31
>>348
あなたがデータを受け取るためにrecvfromの第2引数に指定したバッファ
350デフォルトの名無しさん: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デフォルトの名無しさん:2009/12/12(土) 15:43:23
UPDの仕様は理解したうえでの質問なんだよな?
353デフォルトの名無しさん:2009/12/12(土) 15:43:57
ソフトを作る団塊で通信するパケットサイズ決めておくんじゃね?
354デフォルトの名無しさん:2009/12/12(土) 15:45:55
>>351
取り出したらああああああああああああああssssssss

見分けるというか、パケット単位で管理してる。
recvfromでパケットごとに取り出すので
取り出す際に余った分は破棄される
355デフォルトの名無しさん:2009/12/12(土) 15:52:28
そもそもUDPなの?
356デフォルトの名無しさん:2009/12/12(土) 15:58:18
どうせ釣りだろ
357デフォルトの名無しさん:2009/12/12(土) 18:07:41
ほんとにTCP/IPの知識ないのにネットワークプログラミングやろうとする奴多すぎ
358デフォルトの名無しさん:2009/12/12(土) 18:10:11
やれば知識がつくんだからいいじゃない
359デフォルトの名無しさん:2009/12/12(土) 18:11:57
プロトコル層とかなんちゃら層とか
360デフォルトの名無しさん:2009/12/12(土) 18:24:35
>>351
> どうやってrecvfromは、1回目の1000バイトと2回目の400バイトを
> 別として見分けるのでしょうか

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

そもそも recvfrom() は引数で送信元アドレス/ポート
が取得できるだろ。連続して違う相手から受信したらデー
タが混じるとでも思ってるのか?
361デフォルトの名無しさん:2009/12/12(土) 19:46:46
65536-20-8=65508だったな。計算間違えたぜ。
このサイズ以上はOS側で落とされるな。
362デフォルトの名無しさん:2009/12/12(土) 21:04:26
proxyの作り方教えてください
363デフォルトの名無しさん: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デフォルトの名無しさん:2009/12/12(土) 21:24:48
他のプログラムが使用してるソケットにデータを送ることってできないの?
某ネトゲチートツールみたいに
366デフォルトの名無しさん:2009/12/12(土) 21:38:12
>>365
自分で答えを書いているじゃないか。
367デフォルトの名無しさん:2009/12/12(土) 21:47:59
p2proxyみたいに
368デフォルトの名無しさん:2009/12/12(土) 23:20:21
>>365
Windows? Linux?
Linuxなら結構簡単
369デフォルトの名無しさん:2009/12/15(火) 21:34:53
自作したプログラムで(おそらく)存在しないURLにアクセスすると
3000回くらいで、ネットワーク自体から切断されます
ISPにも問い合わせましたが、このプログラムを止めてくれと言うだけで
原因がはっきりしません

ループ文使って sprintf( http, "http://....%d.jpg", i );
とURLを作ってるのですが
なにかしらの暗黙のルールなどあるのでしょうか?

WindowsAPI使ってます
370デフォルトの名無しさん:2009/12/15(火) 21:48:30
ISP側に同情するわ
371デフォルトの名無しさん:2009/12/15(火) 21:55:11
>>369
阿呆かお前は
ネットワークプログラムのテストするなら
まずはローカルで試してからだろボケ

致命的なバグを抱えているかも知れんのに
常識を疑われてもしょうがないレベルだな
372デフォルトの名無しさん:2009/12/15(火) 22:01:37
sprintfで外に出ていってしまうん?
373デフォルトの名無しさん:2009/12/15(火) 23:24:59
おまえは何を行っているんだ
374デフォルトの名無しさん:2009/12/16(水) 00:31:54
連番jpgを物故抜きしてんのか?
ネットランナーでも買っとけ
375デフォルトの名無しさん:2009/12/16(水) 00:39:10
>>369
> 原因がはっきりしません

しとるがなw
376デフォルトの名無しさん:2009/12/16(水) 01:07:36
DoSアタックと判断されて蹴られてると考えるのが普通だな
俺が管理者なら攻撃とみなしてISPに通報するね
377デフォルトの名無しさん:2009/12/16(水) 01:11:33
IPS(ISPじゃないよ)で自動的に切断です。
378デフォルトの名無しさん:2009/12/16(水) 01:14:44
IPS インターネット プロバイダ サービス
ISP インターネット サーバー プロトコル
379デフォルトの名無しさん:2009/12/16(水) 02:42:06
>>378
無知を晒して楽しいか?
380デフォルトの名無しさん:2009/12/16(水) 07:19:11
preventionなのかprotectionなのか
381デフォルトの名無しさん:2009/12/16(水) 07:23:39
脳内返答ばかりやな
役に立たんゴミども
382デフォルトの名無しさん:2009/12/16(水) 09:44:38
んなこといったって、状況説明がほとんどないんだから脳内補完して答えるしかねーだろ

とりあえずどうせ、1鯖へのコネクションは同時に2本まで。というルールすら守ってないんだろ・・・
383デフォルトの名無しさん:2009/12/16(水) 09:51:31
負荷下げるためにkeep-alive使ったり、それで性能がほしければ
パイプライニングしたりするべきだが...
384デフォルトの名無しさん:2009/12/16(水) 12:02:10
まあうざいのはdenyされるので、がんばっても無理だけどな。
相手の許容範囲で出来る事を遣るしか無い。
385デフォルトの名無しさん:2009/12/16(水) 15:34:03
>>382
>同時に2本まで。というルールすら
>>369 に、「同時にコネクション張る」甲斐性があるとは思えません。
386デフォルトの名無しさん:2009/12/16(水) 16:44:19
問い合わせたお(^ω^)

テンプレが返ってきたお(;ω;)

お問合せいただきました事象によるネットワークからの切断に
つきましてですが、大変申し訳ございませんが弊社で判断する
ことは困難な状況です。

うんこ様のご利用いただいております電話回線に関しまして、通常時に
故障などが発生した場合には、フレッツサービスに関するお問合せ先が
ございますので、下記フリーダイヤル番号までご連絡いただきますよう
よろしくお願い致します。

とりあえず、コネクション2つ以上とかアホ言ってるやつは士ね
387デフォルトの名無しさん:2009/12/16(水) 17:04:16
サムライ呼ばわりとは是如何に
388デフォルトの名無しさん:2009/12/17(木) 00:38:13
ファイヤーウォールみたいに通信に割り込みかけるのってどうやるの?
389デフォルトの名無しさん:2009/12/17(木) 03:17:17
ちょっと待ってて
390デフォルトの名無しさん:2009/12/17(木) 09:10:01
架空URLに高速連続問い合わせとか、DNS鯖に対する攻撃か・・・?
警告はおろか、実際に査察が来るレベルだぞ
391デフォルトの名無しさん:2009/12/17(木) 11:23:39
友人がPING(のようなもの)を飛ばしまくって、JPNICからリアル警告くらってたな
その話聞くまで都市伝説だと思ってたよ俺も
392デフォルトの名無しさん:2009/12/17(木) 11:25:58
信用できねぇ
393デフォルトの名無しさん:2009/12/17(木) 11:40:10
>>392
一般的に考えるとJPNICからってのが胡散臭い感じがするけど
それが本当なら恐らくmrtgみたいなことしようとして主要IXとかに
pingしまくって怒られたって話なんじゃないかと。
394デフォルトの名無しさん:2009/12/17(木) 11:45:15
むちゃな事をしなけりゃ一生縁の無い話なんだから、どうでもいいなw
395デフォルトの名無しさん:2009/12/17(木) 12:10:06
どうでもいい
396デフォルトの名無しさん:2009/12/17(木) 12:34:03
昔はTCPのスタックの負荷テストするのにテキトーなサイトの
chargenポートに繋いだもんだったw
397デフォルトの名無しさん:2009/12/17(木) 12:41:22
(自慢話は)どうでもいい
398デフォルトの名無しさん:2009/12/17(木) 12:41:54
パソコン通信の時代はプログラム的にはどう接続してたの?
たしか相手先の電話番号にダイヤルアップで直に接続してたんだよね?
399デフォルトの名無しさん:2009/12/17(木) 12:46:20
モデムのシリアル接続で直に。基本はテキストのみ。

バイナリをやりとりする時は XMODEM その他のプロトコルで。
400デフォルトの名無しさん:2009/12/17(木) 13:03:50
相手PCとの同期とかどうしてたの?
401デフォルトの名無しさん:2009/12/17(木) 13:04:55
図書館とかで古いパソコン雑誌見るとパソコン通信の電話番号とかたくさん掲載されててなんかすごかったわw
402デフォルトの名無しさん:2009/12/17(木) 13:07:13
同期もなにも、相手のデータを引っ張り出すだけだからなぁ
telnetとかわらん感じだが
403デフォルトの名無しさん:2009/12/17(木) 13:09:02
なるほど。細かいところはハードウェアかOSあたりが処理してたのか。今と変わらんのか。
今でもやろうと思えばパソコン通信ってできるの?
404デフォルトの名無しさん:2009/12/17(木) 13:09:33
>>400
モデムの上位は無手順。
基本はデータをただ流すだけだけど、
スタートビット、ストップビット、パリティビットなどの取り決めがある。
405デフォルトの名無しさん:2009/12/17(木) 13:11:12
オサーンが多いことだけはわかった
406デフォルトの名無しさん:2009/12/17(木) 13:12:03
>>404
そのビットとかはプログラム側で処理するの?
407デフォルトの名無しさん:2009/12/17(木) 13:14:21
RS232C(COM)プログラムしてみりゃわかる
ただ設定をちょこっと命令するだけ
408デフォルトの名無しさん:2009/12/17(木) 13:15:26
>>406
ちったあ手前で調べろや禿。つーか、シリアルI/Oも知らんのか。
最近のPCは非搭載なのが増えたせいか?
409デフォルトの名無しさん:2009/12/17(木) 13:16:03
周辺機器との通信と同じってことかな?ふ〜ん今のプロトコルとかより簡単そうだね
410デフォルトの名無しさん:2009/12/17(木) 13:16:51
本気で聞く気がなけりゃこんなもんだろう
411デフォルトの名無しさん:2009/12/17(木) 13:17:10
みなさんの貴重はお昼休みをどうもありがとうございました^^
412デフォルトの名無しさん:2009/12/17(木) 13:20:22
テンプレに本気じゃないやつは訊かずに自分で調べろとでもいれとくかw
413デフォルトの名無しさん:2009/12/17(木) 13:26:14
もう232Cでのプログラムなんてやらなくなっちゃったしな
USBばっかだし(USBもシリアルじゃんって言わないの)
414デフォルトの名無しさん:2009/12/17(木) 13:26:32
その通信の先にppp接続がある
415デフォルトの名無しさん:2009/12/17(木) 13:42:58
232Cポートが無くなっても、
最新のLinuxで毎日使う端末画面はボーレート38400bps
416デフォルトの名無しさん:2009/12/17(木) 13:48:44
たった今も機器とのシリアル通信のコード書いてるんだが・・・(マイコン系)
417デフォルトの名無しさん:2009/12/17(木) 14:01:00
>>413
USBシリアルデバイスって知らないの?
USBは上位プロトコルは既存のプロトコルを採用している。
418デフォルトの名無しさん:2009/12/17(木) 14:08:53
知ってて「突っ込むな」と書いてあるように思うんだが。
419デフォルトの名無しさん:2009/12/17(木) 14:13:00
まさかストレートにつっこまれるとは思わなかった
420デフォルトの名無しさん:2009/12/17(木) 14:42:31
最近はマイコンでもシリアル通信用のライブラリがあるからなー
AVRでUARTとMAX232でPCの232Cとシリアル通信したことあるよ。
421デフォルトの名無しさん:2009/12/17(木) 15:02:05
USB仕様が物理層でシリアルなことと、
USBシリアルデバイスがデータリンク層でシリアル型プロトコルであることは別。
422デフォルトの名無しさん:2009/12/17(木) 15:32:15
で?
423デフォルトの名無しさん:2009/12/17(木) 15:35:37
パソコンに繋いだ外部機器との通信とかドライバのことってこのネットワークスレでいいの?
424デフォルトの名無しさん:2009/12/17(木) 15:37:05
マウスとかは勘弁して欲しいけどw、
HP-IBとかそういうのは構わないんじゃないの
425デフォルトの名無しさん:2009/12/17(木) 15:40:53
ども、質問できるスレを確保したので本格的に勉強始めますわ。どもでしたー
426デフォルトの名無しさん:2009/12/17(木) 21:16:44
あいよ−
427デフォルトの名無しさん:2009/12/17(木) 23:57:39
念力はだめだからな
428デフォルトの名無しさん:2009/12/18(金) 10:10:20
ふーん
429デフォルトの名無しさん:2009/12/18(金) 13:26:24
エスパー問題なら俺に任せて。
他人のバグなら7秒で解決する。
430デフォルトの名無しさん:2009/12/20(日) 10:57:32
>>429がデバッグを完了するタイムは、わずか7秒にすぎない。
では、デバッグプロセスをもう一度見てみよう。
431デフォルトの名無しさん:2009/12/21(月) 00:01:19
>>429
エスパーが質問に答えるスレ
http://pc12.2ch.net/test/read.cgi/tech/1187922645/

どうかお帰り下さい
432デフォルトの名無しさん:2009/12/21(月) 18:30:51
エスパーを迫害中ですか
433デフォルトの名無しさん:2009/12/22(火) 01:54:36
そのうち「テラへ」スレになりそうだ
434デフォルトの名無しさん:2009/12/22(火) 02:28:36
雑誌を次々と潰していくエスパーよりはいいかもな
435デフォルトの名無しさん:2009/12/22(火) 03:10:35
>>434
ここ何年かは潰してないだろ!
436デフォルトの名無しさん:2009/12/26(土) 17:17:14
マルチスレッドのクライアントを作ろうとしてるんだけど
なんかエラーが出る件

WSAStartupはメインで1度呼ぶだけでいいんだよね?
437デフォルトの名無しさん:2009/12/26(土) 23:56:55
>>436
はい
438デフォルトの名無しさん:2009/12/27(日) 12:54:52
439デフォルトの名無しさん:2009/12/27(日) 14:04:18
Yahooでは返答がなかったのでこちらに質問します

HTMLフォームにキーワードを入れてクリックする処理

たとえば http://www1.axfc.net/uploader/Sc/so/67614
のようなサイトで、ファイルをダウンロードするにはキーワードを入れる必要があります
今回のサンプルでは test といれてクリックすればダウンロードできます
これをプログラムで処理したいのです

短く言うと
フォームにキーワードを入れて、クリックする処理をプログラムで実現したい


C/C++で処理したいと考えてます
サンプルソースなど教えていただけないでしょうか?

OSはWindowsです
440デフォルトの名無しさん:2009/12/27(日) 14:18:28
そんなニッチな作業をするピンポイントなサンプルは無い
キーワードは固定なのか?
ネットワークプログラミングスレでその質問をするということは、
まずソケットの扱い方とHTTPの仕様を理解しなければならないな
441デフォルトの名無しさん:2009/12/27(日) 14:39:02
ネットワークプログラミングじゃねーじゃん
IEコンポでも使えばいいよ
442デフォルトの名無しさん:2009/12/27(日) 14:58:15
443デフォルトの名無しさん:2009/12/27(日) 15:01:39
>>439
libcurl使え
444デフォルトの名無しさん:2009/12/27(日) 15:05:47
http://pc12.2ch.net/test/read.cgi/tech/1260842197/
スレを勃てるまでもないC/C++の質問はここで 13
http://pc12.2ch.net/test/read.cgi/tech/1260532772/
C/C++の宿題片付けます 133代目
445デフォルトの名無しさん:2009/12/27(日) 16:24:46
Winsock2なんですがサーバアプリケーションで連続してacceptすると100回のうち1〜2回ぐらい、

1)メインスレッドで sock=accept()  −> INVALID_SOCKETではない
2)メインスレッドで sockを別スレッドに渡す
3)別スレッドで event = WSACreateEvent();
4)別スレッドで WSAEventSelect(sock,event,...)  −> SOCKET_ERROR 発生(WSAGetLastError()は10038)

という状態が起きます。

メインスレッドでは accept()後、別スレッドに処理を渡してすぐに戻る仕様です。
また、別スレッド管理は空いているスレッドがなければ作成、アイドル中のスレッドがあればそれを使用、
接続中のスレッドが3コになったら、空きができるまでaccept()には戻りません。

同時に2つ以上の接続要求が来なければ、問題なく動作しているようなのですが接続要求が連続してくると上記のような症状が発生します。

原因になりそうなことが分かる方はいらっしゃいますか?
446デフォルトの名無しさん:2009/12/27(日) 17:08:56
メインスレッドがちゃんと渡してないのでは。
447デフォルトの名無しさん:2009/12/27(日) 17:17:37
Winsock2は詳しくないんだが、エラーコード10038の意味は何?
それを調べる事から調査が始まるのではないかと。
448デフォルトの名無しさん:2009/12/27(日) 18:23:22
>>446
デバッグ用にコードを仕込んで確認しました。
acceptから受けたsock(メインスレッド) と WSAEventSelectに渡されるsock(別スレッド)は同じでした。

>>447
WSAENOTSOCK
10038
Socket operation on nonsocket.
An operation was attempted on something that is not a socket.
Either the socket handle parameter did not reference a valid socket, or for select, a member of an fd_set was not valid.

です。
有効なソケットではないという感じです。
449445:2009/12/27(日) 23:10:32
>接続中のスレッドが3コになったら、空きができるまでaccept()には戻りません。
この部分を1コに変更する(つまり、ひとつの接続が完了するまで次のaccept()には戻らない)と上記のようなエラーは発生しなくなります。
450デフォルトの名無しさん:2009/12/28(月) 13:18:33
メインスレッドからポインタでデータを渡していて
スレッドで読んでる最中に上書きしちゃてるとか
451デフォルトの名無しさん:2009/12/28(月) 14:54:36
タイムアウトのためだけにselect使う場合は
FD_ISSETは使うわなくていいんだよな?
452デフォルトの名無しさん:2009/12/28(月) 15:17:55
>>451
エラー要因はちゃんと見とけよ
割り込みだったら待ちなおしだ
453445:2009/12/28(月) 18:06:48
>>450
SOCKET型変数を値渡ししています。
どこかで上書きしちゃっている可能性も考えたので>>448で実験していましたが
エラー発生時のメインスレッドのsock(SOCKET型) と値渡ししたsock(SOCKET型) は同じ数値でした。
また>>445の1〜4のうち、1と2の間でも、acceptの戻り値がINVALID_SOCKETであるかどうかの確認を行っています。
このときにはINVALID_SOCKETではないのに、別スレッドに渡した後のWSAEventSelect()やWSAEnumNetworkEvents()でSOCKET_ERRORになります。
SOCKET_ERRORの時はif(WSAGetLastError()==WSAEWOULDBLOCK)...の処理を入れてあります。
454デフォルトの名無しさん:2009/12/28(月) 18:39:56
別のとこで同じソケット使おうとしてるんだろ
455デフォルトの名無しさん:2009/12/28(月) 18:41:34
よく分からないけど、WSAEventSelect()のほかのパラメタも
見直してみてはどうかな

第一引数のソケットは正しくても WSAENOTSOCKが返ることも
あるみたいだし
http://groups.google.co.jp/group/microsoft.public.win32.programmer.networks/browse_thread/thread/f7cf0ce6e7e2aefa
456デフォルトの名無しさん:2009/12/28(月) 22:47:31
排他制御が出来て無くて他のスレッドで無効にしてるんだろ。
457445:2009/12/29(火) 00:06:22
>>455
ありがとうございます。
リンク先のURLはWSAEventSelect(...)の2番目の引数はWSAEVENT*ではなく、WSAEVENTだよってことですよね?
(ソースはWSAEVENT**を渡そうとしているようですが)

>第一引数のソケットは正しくても WSAENOTSOCKが返ることもあるみたいだし
SOCKET_ERRORを返した場合でも、一定時間待機後リトライするようにしたところ、成功することがあるということが分かりました。
それでもまだ失敗する場合もあるようですが、かなり改善しました。
いろいろ試してみます。

>>456
それはないと思うのですが。
スレッド間で異なる値のソケットを持っていますし、アドレスで渡してはいないので別スレッドのソケットを参照してしまうこともないです。
スレッド間の排他制御以前の問題だと思います。
458デフォルトの名無しさん:2009/12/29(火) 08:27:42
>>457
> スレッド間の排他制御以前の問題だと思います。
自分のコードが間違っていると言う考えには至らず、システムに原因があると考える、
典型的な初心者。
100%に近い確率でお前のコードのどこかが、SOCKETを無効にしているか無効なソケット
を渡されたのをチェックせず見逃している。
459デフォルトの名無しさん:2009/12/29(火) 10:29:25
コードをうpすれば間違いを指摘してやるのにな
460 ◆0uxK91AxII :2009/12/29(火) 10:40:02
>>453
>エラー発生時のメインスレッドのsock(SOCKET型) と値渡ししたsock(SOCKET型) は同じ数値でした。
それは、acceptの戻り値と一致するのかな、っと。
461445:2009/12/29(火) 18:33:55
>>458
>自分のコードが間違っていると言う考えには至らず、システムに原因があると考える、
違いますね。
排他制御以前に自分の「winsock2の取り扱い方」に問題があると思っています。

>>460
>メインスレッドのsock(SOCKET型)
これがacceptの戻り値です。
462デフォルトの名無しさん:2009/12/29(火) 19:09:11
>461
ぐだぐだ言ってねぇでいいからSOCKETを渡してるとこと受け取ってるとこをmutexでくくれ。
話はそれからだ
463デフォルトの名無しさん:2009/12/29(火) 19:29:44
> 排他制御以前に自分の「winsock2の取り扱い方」に問題があると思っています。
socket, acceptでSOCKET作る。使う。閉じる。これだけなのに使いこなせないとは
よほどのヘボということになるが。
464デフォルトの名無しさん:2009/12/29(火) 19:34:22
仕事の話なら「死んでくだしあ」になるけど
趣味ならしょうがないというか、よくある話でしょう。
465デフォルトの名無しさん:2009/12/29(火) 22:03:57
勘違いしてました、とかよくあるからな
466デフォルトの名無しさん:2009/12/29(火) 22:26:02
2ちゃんねるはもっと親切な場所だと勘違いしてました(><)
467デフォルトの名無しさん:2009/12/29(火) 22:44:11
2ちゃんねるが親切とか、どこを見ればそんな勘違いできるんだろう
468デフォルトの名無しさん:2009/12/29(火) 22:47:40
俺がいるからこういう勘違いをさせてしまう
469デフォルトの名無しさん:2009/12/30(水) 02:50:22
オヤギリ・・・ゴクリ
470デフォルトの名無しさん:2009/12/30(水) 11:49:29
みんな、すまん
471デフォルトの名無しさん:2009/12/30(水) 12:04:37
うむ
472デフォルトの名無しさん:2009/12/30(水) 15:49:10
2ちゃんねるは 匿名で知らない新人のかげぐちを言う
最低のゴミクズのチンカス野郎のあつまりですよ(^-^)
473デフォルトの名無しさん:2009/12/30(水) 15:52:37
チンカスって何?
474デフォルトの名無しさん:2009/12/30(水) 16:01:04
>>473
あなたのことですよ(^-^)
475デフォルトの名無しさん:2009/12/30(水) 19:30:21
>>453
> SOCKET_ERRORの時はif(WSAGetLastError()==WSAEWOULDBLOCK)...の処理を入れてあります。

こういうWSAGetLastErrorの使い方されれると、
ドキュメントに書いてあること守っているかどうか気になるなあ。
476デフォルトの名無しさん:2009/12/31(木) 06:13:07
いっそオープンソースでやればいいが
ぱくられる、たたかれる、異常なほどの知識をもったキチガイがくる
のいずれかに該当するので結局オープンにしない
そして、車輪の再開発はまた繰り返される
これが日本のクオリティ
477445:2010/01/03(日) 00:45:04
原因が分かった。

別の接続で(>>445とは関係のない部分)のミスだった。

別の接続がソケットを使用し、ある条件によって即座にclosesocket()する場合としない場合があるのだけど
closesocket()した場合でも、その後オブジェクトの破棄時にまたclosesocket()を呼び出していることが原因だった。

最初のclosesocket()によって開放したソケット(と同じ値)を>>445のサーバが再利用するようになったときに
オブジェクトの破棄時にまたclosesocket()を呼び出したせいでサーバが取得したソケットを無効にしてしまっていたようでした。
478デフォルトの名無しさん:2010/01/04(月) 13:22:25
大きなファイル or ストリームデータもスムーズに流せるパイプライン的動作の
http proxyを作りたいのですが、Keep-Aliveのセッションに流れているリクエスト間の及び
レスポンス間を検出をする効率的な方法を教えてください
Content-Lengthヘッダは必須ではないようですし
1Byteづつシフトさせてある程度の量を読んでリクエストライン/ステータスラインを
検知するような方法だとbody内等に類似の文字列が含まれた場合に
意図しない動作をする可能性が考えられます
(検知に必要なリソースが増える上に遅くなるので避けたいと言うのもあります)
・・・どうしても不確定要素が排除できない・・・(´・ω・`)

よろしくお願いします
479デフォルトの名無しさん:2010/01/04(月) 14:00:22
RFC 2626 §8.1.2.1 より
> In order to remain persistent, all messages on the connection MUST
> have a self-defined message length (i.e., one not defined by closure
> of the connection), as described in section 4.4.
480デフォルトの名無しさん:2010/01/04(月) 23:56:38
SystemVとPosixのメッセージキューってどっちが高速なんでしょうか?
481デフォルトの名無しさん:2010/01/05(火) 07:08:06
お前の環境で実測しろ、馬鹿
482478:2010/01/05(火) 19:55:43
>>479
レスthx。そんなところに書いてあったのか
Content-Lengthでやってみます
483デフォルトの名無しさん:2010/01/05(火) 22:41:25
>>480
一般的にはposixの方が速いけど、>>481のレスのとおりだと思います。
484デフォルトの名無しさん:2010/01/05(火) 22:50:30
一般的とは?速い根拠は?
485デフォルトの名無しさん:2010/01/05(火) 23:13:09
>>484
SystemVが遅いからいろんな方法が生まれたということを考えるとねぇ
486デフォルトの名無しさん:2010/01/06(水) 00:04:41
だから、根拠は?
あんたの妄想なんていらないんだよ
487デフォルトの名無しさん:2010/01/06(水) 00:09:19
なんて偉そうな教えてくん
488デフォルトの名無しさん:2010/01/06(水) 00:11:17
で、根拠はまだかね?
489デフォルトの名無しさん:2010/01/06(水) 00:14:06
おい、根拠はまだか
490デフォルトの名無しさん:2010/01/06(水) 00:15:01
こっちだって忙しいんだからさっさと根拠だせよ無能ども
491デフォルトの名無しさん:2010/01/06(水) 00:21:32
根拠は出せないみたいだな
知ったかの馬鹿ばっかだったってことだ
今日も俺の勝ち
492デフォルトの名無しさん:2010/01/06(水) 01:07:22
ねんねの時間だぞオイ
493デフォルトの名無しさん:2010/01/06(水) 16:47:15
誰?こいつにこんなとこ教えたの
494デフォルトの名無しさん:2010/01/06(水) 16:48:38
深夜に会社にもぐりこんでパソコンやってんのかね
キモチワルイ ヒマジン キチガイ モノゴイ
495デフォルトの名無しさん:2010/01/06(水) 17:13:42
ほんと、一般的〜とか 〜の方が速いとか 〜が遅いからとか
真面目なスレに出てきてほしくないよね、何が楽しいんだろうか
496デフォルトの名無しさん:2010/01/06(水) 17:36:59
そもそもメッセージキューって、このスレと関係ないだろ。

>>495
お前も何が楽しくてレスしてんだよ。
497デフォルトの名無しさん:2010/01/06(水) 17:50:24
この一連が楽しくないからレスしたのだが、それがなにか?
498デフォルトの名無しさん:2010/01/06(水) 19:01:45
争いの発生源
深夜時刻の書き込みを規制すればいいような
499デフォルトの名無しさん:2010/01/06(水) 19:13:50
そんなできもしない事を書いて何になるのか
500デフォルトの名無しさん:2010/01/06(水) 19:18:15
根拠や実現性の無い事ばかり言う奴っているよね。
邪魔でしょうがない。
501デフォルトの名無しさん:2010/01/06(水) 20:18:27
マスコミとか?
502デフォルトの名無しさん:2010/01/06(水) 20:45:33
手元の環境で簡単に実測できることを、いつまでぐだぐだ言ってんだ
503デフォルトの名無しさん:2010/01/07(木) 00:56:32
>>500はナイコン族。キーボードの写真を見ながらプログラムを夢想してる。
504デフォルトの名無しさん:2010/01/07(木) 01:01:37
ナイコン族なつかしー
505デフォルトの名無しさん:2010/01/07(木) 21:50:38
>>496
UNIXネットワークプログラミングのVol.2の内容だな
このスレとは関係ないけどな
506デフォルトの名無しさん:2010/01/08(金) 22:19:30
意図的にパケットロスや遅延を起こすようなブリッジっぽいプログラムを探してるんだけど
なんかお勧めはありますか?
507デフォルトの名無しさん:2010/01/08(金) 22:26:19
dummynet, altq
508デフォルトの名無しさん:2010/01/09(土) 22:05:50
linee
509デフォルトの名無しさん:2010/01/10(日) 12:54:45
WMICコマンドでNICのレジスタを操作したいのですがどの程度できるものなのでしょうか?
また参考になるサイトは有りますか?
510デフォルトの名無しさん:2010/01/15(金) 18:52:31
データ収集のためにあるサイトに10000回ぐらいHTMLファイルの要求したいんですが
1回ごとにどのぐらい、間を開けるべきですか?
曖昧な質問ですが教えてください。
自分としては10日ぐらいにわけて要求しようと思っているのですが
それが多いのか少ないのかわかりません。
511デフォルトの名無しさん:2010/01/15(金) 18:53:54
そのサイトの管理者に聞きなさい
512デフォルトの名無しさん:2010/01/15(金) 23:27:13
>>510
あまり頻繁に同一アクセスすると、DOSアタックと間違えられて、塞がれるからかもしれないぞ。
513デフォルトの名無しさん:2010/01/16(土) 10:07:48
>>511さん>>512さんありがとうございます。
難しいですね。
アクセスする度にIP変えるとしてもホストでわかるでしょうし。

とりあえずまだ時間はあるので自分で考えてから決めようと思います。
514デフォルトの名無しさん:2010/01/16(土) 14:02:32
>>510,511,513
何を言ってるんだ、おまいらは?
それはネットワークプログラミングの問題ではなくて、サイトの運営ポリシーの問題だ
512 が正論だと思うが… … …
515デフォルトの名無しさん:2010/01/16(土) 14:48:49
おまえは2chをなんだとおもってるんだ
516デフォルトの名無しさん:2010/01/16(土) 16:13:26
掲示板かな
517デフォルトの名無しさん:2010/01/16(土) 18:47:05
アクセス少ないサイトで10000回もアクセスされたら嫌がらせだな。
100万PVのサイトなら誤差?

開発日記でもブログに書いて10000回アクセスしてログ見てみたらw
518デフォルトの名無しさん:2010/01/16(土) 21:32:09
>>517
1日当たりのアクセス数調べてみたら5000万はありそうです。

とっても嫌な気持ちになると思われます。。
519デフォルトの名無しさん:2010/01/16(土) 22:17:37
アクセスランキング上位の超人気サイト
520デフォルトの名無しさん:2010/01/16(土) 22:53:51
google相手だったら恐らくbanされるな(規約で自動化について触れている)
521デフォルトの名無しさん:2010/01/19(火) 02:51:20
winsockでconnectのタイムアウトをつけるにはどうすればいい?
522デフォルトの名無しさん:2010/01/19(火) 11:03:01
ノンブロッキングでconnect
523デフォルトの名無しさん:2010/01/19(火) 11:30:29
スレッドでコネクト
524デフォルトの名無しさん:2010/01/24(日) 01:45:41
シリアルポートを使うアプリ開発しているんですが、
PC1台しかないんで、もう一つ対抗装置をエミュするアプリ作って
同じPC上で通信ってできますか?
ソケットならループバックできるけど、シリアルポートはさすがに無理?
物理的につながった相手としか交信できませんか?
525デフォルトの名無しさん:2010/01/24(日) 01:55:13
VMwareとかVirtualBoxとかを使えばできるんじゃない?
526デフォルトの名無しさん:2010/01/24(日) 01:58:41
>>525
なるほど!その手があったか。
ありがとうございます!
527デフォルトの名無しさん:2010/01/24(日) 02:05:15
安いPCでも買えばいいのに
528デフォルトの名無しさん:2010/01/24(日) 02:07:19
普通にUSBシリアル変換を1つ持ってくれば良いんでないの?
529デフォルトの名無しさん:2010/01/24(日) 02:29:03
古いPC何台かあまってるけど
あげようか?
530デフォルトの名無しさん:2010/01/24(日) 03:46:52
>>525
仮想ポート同士を繋げるなんて出来たっけ?
531デフォルトの名無しさん:2010/01/24(日) 05:44:16
全然ネットワークじゃ無い様な気もする。
シリアルなんて付いてるpc探すほうが苦労するし、もうusbでよくね?

http://pc12.2ch.net/test/read.cgi/tech/1162901243/
USBプログラミング入門
http://pc12.2ch.net/test/read.cgi/tech/1162801793/
RS-232cについての質問(初心者)
532デフォルトの名無しさん:2010/01/24(日) 09:56:16
MAX232使えばいいよ
533デフォルトの名無しさん:2010/01/24(日) 13:42:30
え?今のPCってシリアルついてないの?
534デフォルトの名無しさん:2010/01/24(日) 14:39:46
今もPCってパラレルポートもなかったりして
535デフォルトの名無しさん:2010/01/24(日) 15:01:48
>>530
データの読み書き程度なら、VMwareの場合シリアルポートを名前付きパイプに
マップしたり出来るらしいし、なんとかなるかも
536デフォルトの名無しさん:2010/01/24(日) 17:15:36
telnetdを作ってるのですが、
0x1bのESCだけが送られてきた時と、
エスケープシーケンス(0x1b[Aとか)の区別は
続く文字がこない場合、タイムアウトでやるしかないでしょうか。
537デフォルトの名無しさん:2010/01/24(日) 17:29:58
どっちみちクライアント側からは
行単位でしか送られてこないケースが多いけど
538デフォルトの名無しさん:2010/01/24(日) 17:32:26
エコーバックがあるからそんなことないだろ
539デフォルトの名無しさん:2010/01/24(日) 17:34:33
次が来るまで保留
540デフォルトの名無しさん:2010/01/24(日) 17:38:18
>>536
タイムアウトしてはいけない
541デフォルトの名無しさん:2010/01/24(日) 17:54:46
何故、区別する必要があるのだろう?
542デフォルトの名無しさん:2010/01/24(日) 17:59:24
そういえば最後の1バイトが0x1bで終わってると
ハングアップする糞メールソフトがあったな
NeXTのMail.appだったかな
543デフォルトの名無しさん:2010/01/24(日) 20:28:00
シリアルで電文コマンド送出するプログラム書いたから
内容によって返答を返してくれるレスポンスプログラムも用意してデバッグしたいってこと?
素直にお古のPCを持ってきた方がいいんじゃない?
544デフォルトの名無しさん:2010/01/24(日) 21:26:02
送る処理と受ける処理を混同してるような
545デフォルトの名無しさん:2010/01/24(日) 22:01:47
s/送る/攻める/
546デフォルトの名無しさん:2010/01/24(日) 22:04:32
なにこいつうぜえ
547デフォルトの名無しさん:2010/01/24(日) 23:35:38
>>540
いやいや、常に正格なバイト列だけ送られると仮定してはいけないよ。
548デフォルトの名無しさん:2010/01/24(日) 23:44:30
>>547
それとタイムアウトは関係ないよね
549デフォルトの名無しさん:2010/01/25(月) 12:45:46
ええと、
よくキャンセルの意味でESCを押して画面やコマンドを
クリアすると思うのですが、それを実現したいのです
簡易シェル的な機能を持ってるので
カーソル移動とかと区別したいのです
550デフォルトの名無しさん:2010/01/25(月) 12:48:51
それはクライアントの仕事じゃないの
551デフォルトの名無しさん:2010/01/25(月) 13:28:30
telnetd→クライアント の方向から カーソル移動とかのエスケープシーケンスを送るのは考えられるけど
クライアント→telnetd の方向で カーソル移動とかのエスケープシーケンスを流すの?
552デフォルトの名無しさん:2010/01/25(月) 15:24:06
画面制御は無いけど、文字コード切り替えはあるな。
553デフォルトの名無しさん:2010/01/25(月) 15:44:55
UNIXドメインソケットつくるとき
socket( PF_UNIX, SOCK_STREAM, 0 );
第3引数には 0 を入れてるけど、ほんとは何が正しいの?
554デフォルトの名無しさん:2010/01/25(月) 16:02:39
telnet 中に ^] を押すと何かが起こる
555デフォルトの名無しさん:2010/01/25(月) 16:24:19
>>552
そうなると 文字コード切り替え と 簡易shell への画面消去を意図した 0x1b 一発との区別は
ストリームベースである以上 telnetd 側では判断できない ってことになるよね

クライアント→自前teknetd で 後者の操作を意図した入力は クライアントが [ESC] 押下に対して
0x1b を 2発投げるとか
『0x1b受領後 後続の文字がサポート外シーケンスは全て後者の動作とする』 とか
(結果的に [ESC] を2回叩かせる)

こういう落とし方になるのだろうか?
556デフォルトの名無しさん:2010/01/25(月) 16:55:36
>>524
古いPCならシリアルポート2つ付いてたりするけどな
1つしかないなら、シリアルカード買ってきて刺すのが吉かと
¥3kくらい?
557デフォルトの名無しさん:2010/01/25(月) 16:57:58
シリアルポート⇔TCPソケット の簡易鯖作って
アプリのほうは TCPソケット相手にがんばる じゃ面倒か
558デフォルトの名無しさん:2010/01/25(月) 17:18:32
今ならUSBのシリアルポートあるでしょ
アレ便利ですよ
559デフォルトの名無しさん:2010/01/25(月) 17:24:52
USBシリアルだと電圧足りなくてPICに書けなかったりするんだよねぇ
560デフォルトの名無しさん:2010/01/25(月) 17:24:59
たまに電力足りないとかでEEPROMライタ使えないとかいう噂あるけど
561デフォルトの名無しさん:2010/01/25(月) 17:26:36
やっぱりそうかw
562デフォルトの名無しさん:2010/01/25(月) 17:33:09
シリアルの電源使ってるのかw
シリアルじゃ足りなくてキーボードコネクタからも拝借してたなあ・・・
563デフォルトの名無しさん:2010/01/25(月) 17:35:46
駄目なひとはUSBハブ通しちゃってるんじゃないの?
564デフォルトの名無しさん:2010/01/25(月) 17:36:39
TCP/IP だと通信内容モニタリングはしやすくなるのかな
565デフォルトの名無しさん:2010/01/25(月) 18:15:57
文字化け、抜けがないから他の手段よりは良い
566デフォルトの名無しさん:2010/01/25(月) 18:17:45
デバッグになるのかなー
567デフォルトの名無しさん:2010/01/25(月) 19:05:22
なんないでしょw
568デフォルトの名無しさん:2010/01/25(月) 19:50:36
>>562
TTLレベルでごまかすのが多かったからだと思う
569デフォルトの名無しさん:2010/01/25(月) 21:27:33
TelnetサーバをC言語で実装しようと思うのですが、どこかにソースのサンプルってありますか?
570デフォルトの名無しさん:2010/01/25(月) 21:51:31
>>536 にお願いしてみては?
571デフォルトの名無しさん:2010/01/25(月) 23:10:06
572デフォルトの名無しさん:2010/01/27(水) 11:58:37
Icecastクライアント(ねとらじ放送ソフト)の実験的作成に当たって、ストリーミング送信に関する
情報を集めているのですが、受信側はよく見かけるのですが送信側がとんと見つかりません。
シンプルな送信側のサンプルはありませんでしょうか?
573デフォルトの名無しさん:2010/01/27(水) 13:06:34
>>524
com0com っていう仮想シリアルポートドライバが便利ですよ。
574デフォルトの名無しさん:2010/01/29(金) 12:49:11
偽装されたIPアドレスからの接続要求をacceptして
データをrecvすることってあるんでしょうか?
それともacceptとrecvが成功していれば相手のIPアドレスが
偽装でないということになるんでしょうか?
575デフォルトの名無しさん:2010/01/29(金) 13:06:35
状況による。
576デフォルトの名無しさん:2010/01/29(金) 13:25:38
(A)とAcceptした接続に割り込む形で(B)から嘘パケットが流れて来るなら明らかに偽装といえるけど
(B)がいきなり接続して来る場合は何に対して偽装してるのか、って話になる。
(B)にそのIPアドレスが設定されてれば同じ動きをするし。
577デフォルトの名無しさん:2010/01/29(金) 13:38:19
特定の国からのアクセスをブロックしたいとか、そういうことだろうか?
IPアドレスで通信相手を識別したい?
578デフォルトの名無しさん:2010/01/29(金) 13:51:55
IPヘッダの送信元アドレスが偽装されていてもaccept、recvは行われるのか?
ってことです。ググッてわかったのは

1.クライアントがSYNパケットをサーバに送信(connect呼び出し)
2.サーバはSYNパケットを受信すると確立待ちコネクションキューにエントリを作成
3.サーバはACK/SYNパケットをクライアントに送信
4.クライアントはサーバからのACK/SYNパケットを受信(connectから戻る)
5.クライアントがACKパケットをサーバに送信
6.サーバはACKパケットを受信すると、確立待ちコネクションキューから対応するエントリを確立済みコネクションキューに移動
7.accept関数は確立済みコネクションキューの先頭から確立済みのコネクションを取り出す

この4、5をサーバからの応答なしにACKをサーバに送信して
接続が確立されることがあるか知りたいんです。

>>577
recvした相手のアドレスが本当に通知されたアドレスなのか知りたいんです
579デフォルトの名無しさん:2010/01/29(金) 14:11:48
(ACKパケットのACK番号)=(SYNACKパケットのSEQ番号)+1
が成り立っていればサーバは接続が確立したということにすると思う
MACアドレスも偽装しないと駄目だろうけどね

通知って何?
580574=578:2010/01/29(金) 14:22:50
>>579
通知っていうかIPヘッダのIPアドレスです
サーバの返すSEQ番号が分からないとだめなので
偽装IPアドレスからrecvすることはないって認識でいいんでしょうか?
581574=578:2010/01/29(金) 14:39:43
IPアドレス・スプーフィングって専門用語があるのね・・・
そしてwikiによると最近のシステムなら大丈夫っぽいですね
582デフォルトの名無しさん:2010/01/29(金) 14:53:57
最近はARPスプーフィングの手口が多いんだろうけど、
一連のコネクションの中でMACが切り替わるようなARPパケットが割り込んだ場合どうなるんだろうねぇ
583デフォルトの名無しさん:2010/01/29(金) 15:05:24
>581
http://blog.hitachi-system.co.jp/m/02/699.html

ここに通信を暗号化する事が対策となるって書いてあったよ?
584デフォルトの名無しさん:2010/01/30(土) 02:24:52
暗号化しても総当たりで解析出来るほど通信を遅延させれば(ry
パケット廃棄されてicmpのdestination unreachable message投げてくるのは暗号化でも回避仕様が無いと思う。
585デフォルトの名無しさん:2010/01/30(土) 08:59:58
IP spoofingならハックラ板か通技いってやってくんない?
そんなカビのはえた話題興味ないから。
586デフォルトの名無しさん:2010/01/30(土) 09:40:48
俺もお前なんかに興味ないから他の板いってくんない?
587デフォルトの名無しさん:2010/01/30(土) 10:09:41
板違いだから出てけってんだよ。
588デフォルトの名無しさん:2010/01/30(土) 17:45:48
>>585みたいなのは板違いもいいとこだろ。キチガイはVIPにでも行ってくれ。
589デフォルトの名無しさん:2010/01/30(土) 18:04:30
>>588
テメーのどこがプログラム技術だ? 言ってみろ。
590デフォルトの名無しさん:2010/01/30(土) 18:22:47
技術話しないならよそに行けよ
とくに>>589
591デフォルトの名無しさん:2010/01/30(土) 18:44:27
タチわりいなコイツ
592デフォルトの名無しさん:2010/01/30(土) 18:50:52
>>590
そのレス、そっくり返してやる。
593デフォルトの名無しさん:2010/01/31(日) 03:09:33
こんなリクエストパケットは破棄しちゃえ
594デフォルトの名無しさん:2010/01/31(日) 03:15:07
このまま無限ループしないようにちゃんとTTL減らしておけよ
595デフォルトの名無しさん:2010/01/31(日) 15:52:40
怒ったからICMPも投げないで廃棄してやる。
596デフォルトの名無しさん:2010/02/02(火) 18:38:37
ちょっとだけスレ違いは理解してるが、教えて。
この質問の回答が得られるスレか、解説HPでもおっけぃ

マンションはひとつのグローバルIPしかもってなくて、
マンション中には192.168.11.2〜42ぐらいまでのローカルアドレスで
接続してるとする。

192.168.11.10 の人が立てたWEBサーバ(port80)と、
192.168.11.20 の人が立てたWEBサーバ(port80)が共存出来るのは
なぜ?
外部はどうやって、192.168.11.10と192.168.20の区別が出来てるの?
597デフォルトの名無しさん:2010/02/02(火) 18:41:30
>>596
実際に、どこのマンションで区別できてるわけ?
598デフォルトの名無しさん:2010/02/02(火) 18:49:56
>>596
実際はグローバルIPを割り当てしてもらってないか?
静的NATで192.168.11.10:80 や 192.168.11.20:80 に変換してるだけかもしれない
599デフォルトの名無しさん:2010/02/02(火) 19:38:13
IPってゆうな。クズ。
600デフォルトの名無しさん:2010/02/02(火) 21:48:41
>>597
住所ってこと?光マンション風な場所です。

>>598
実際は、先頭から3番目まで同じで、4番目は 10と20とか、違ってる。
(偶然知り合いが同じマンションにいて)

静的NATと、実はグローバルIPじゃないの?ってのを重点に調べてみますー
601デフォルトの名無しさん:2010/02/02(火) 22:13:42
実際のアドレスを出せっていってんだクソボケが
602デフォルトの名無しさん:2010/02/02(火) 23:00:03
公開しているとは言え、2ちゃんねるに知り合いのWEBページを晒すのはイヤだろ。
603デフォルトの名無しさん:2010/02/02(火) 23:06:45
質問自体も喧嘩売ってるわけだしね。
答えてる奴が馬鹿。
604デフォルトの名無しさん:2010/02/02(火) 23:25:20
外からは見えてないんじゃないの?
605デフォルトの名無しさん:2010/02/03(水) 00:14:25
>>596
その例では、外からポート80を共有することは100%出来ないですだよ。
そもそも誰か一人だけであっても、運用上の問題で
そんな設定をマンションがしてくれるわけがない。
606デフォルトの名無しさん:2010/02/03(水) 00:15:43
IPっていう奴だから程度が知れている。
607デフォルトの名無しさん:2010/02/03(水) 00:40:54
全員同一LAN上にでも居るってのか?
PC複数持ってきたら枯渇するのか?
そんな馬鹿なマンションあるのか?w
608デフォルトの名無しさん:2010/02/03(水) 01:12:21
馬鹿はお前もだ。なぜこのスレにいる?
609デフォルトの名無しさん:2010/02/03(水) 01:20:33
お隣さんの秘蔵の画像が見れちゃったりするのかな
610デフォルトの名無しさん:2010/02/03(水) 01:53:15
>>609
マジレスすると、昔はよくあった
611デフォルトの名無しさん:2010/02/03(水) 02:01:58
ケーブルTVとかメディアコンバータ直結
ブロードキャストもsmb/net-bios/net-beuiも通しまくり
パスワード無い共有フォルダが丸見え
612デフォルトの名無しさん:2010/02/03(水) 07:22:40
VLANだよな
613デフォルトの名無しさん:2010/02/03(水) 09:18:38
>>605
出来るよ。質問者が気に入らないから答は書かないけど。

$ echo -n '方法' | md5sum
9aa60fb0d7c7bdbe25dcda84957e2ae6
614デフォルトの名無しさん:2010/02/03(水) 11:20:51
ルーター(レイヤー3)レベルで2つの内部ホスト宛のパケットを区別できるわけがない
615デフォルトの名無しさん:2010/02/03(水) 11:44:40
あぁ、それは出来ないな。でも>>596を実現する事は出来る。
616デフォルトの名無しさん:2010/02/03(水) 13:09:52
大人しくグローバルipの割当貰えよ。
617デフォルトの名無しさん:2010/02/03(水) 14:01:34
ipってゆうな。クズ。
618デフォルトの名無しさん:2010/02/03(水) 21:48:19
やろうとすれば出来るという話と、何故現状出来ているのかという話が混ざってないか?
619デフォルトの名無しさん:2010/02/03(水) 22:31:59
パケットを処理するためにプロセス1つとスレッド1つを
利用し以下の処理をします。

メインプロセスでselectでデータを受信します。
次に、受信したデータをバッファにコピーします。
バッファにデータがある場合スレッドはバッファのデータを解析します。
最後にスレッドは解析したデータをもとに、送信元へ結果を返します。

この時、スレッドから接続するソケットのディスクリプタは、メインプロセスで
利用しているものと共用したいのですが可能でしょうか。

また、ディスクリプタを共有する場合recvとかsendする場合、排他制御が
必要となるのでしょうか。

620デフォルトの名無しさん:2010/02/03(水) 22:41:28
selectはデータを受信できない。
621デフォルトの名無しさん:2010/02/03(水) 22:58:58
プロセスとスレッドでソケットの共有は絶対不可能
622デフォルトの名無しさん:2010/02/03(水) 23:34:32
受信タスクや送信タスクを複数つくるメリットってなんでしょうか?

結局、
受信タスク1
受信タスク2 でそれぞれrecvfromで待っていても

タスク1→タスク2 という順に処理するから

whileループ内で二つを回しているのと変わらないきがするのですが
623デフォルトの名無しさん:2010/02/03(水) 23:57:51
whileループ内でrecvfromを2回やると
最初のrecvfromが受信しない限り、
2番目のrecvfromは呼び出してもらえない。
624デフォルトの名無しさん:2010/02/03(水) 23:58:33
スレッド間でソケットって共有できないのでしょうか?

一方が受信専門
他方が送信専門

って作りにしたいのですけど
625デフォルトの名無しさん:2010/02/04(木) 00:06:36
純粋な送信・受信なんてUDPでなきゃ無い。送信にはハンドシェイクのための受信がつきもの
626デフォルトの名無しさん:2010/02/04(木) 00:36:17
>>623
タスクやスレッドでそれをやると戻ってくるのでしょうか?

単にrecvfromにタイムアウトをオプションでつければよいのではないのでしょうか?
デフォルトでもタイムアウトなかったかな
627デフォルトの名無しさん:2010/02/04(木) 00:59:59
別々のプロセスで
recvとかsend排他しないで

呼び出すと結果はどうなるのでしょうか
628デフォルトの名無しさん:2010/02/04(木) 08:49:19
ドキュメントに書いてあればその通り。書いていなければ、
1 後が待たされる
2 順番は関係なく奪い合う。
3 後がエラー
のどれか。
ドキュメントに書いていない事なので、その動作が今後も保証される事を期待してはいけない。
629デフォルトの名無しさん:2010/02/04(木) 08:57:01
俺なら受信と送信をスレッドを分けるんじゃなくて
通信と計算処理のスレッドを分ける
630デフォルトの名無しさん:2010/02/04(木) 10:18:53
>>629
そんな回答は誰も聞いてないだろ・・・
631デフォルトの名無しさん:2010/02/04(木) 13:25:12
>>627
少なくともWinSockの場合はスレッドセーフになっているよ。
並列にsend/recvできる。
632デフォルトの名無しさん:2010/02/04(木) 15:15:01
>>629
こういうのうざいんだよなぁ
質問に対して、本人はアドバイスしてるつもりなんだろうけど
実際は単に知識自慢とか俺ならこうするとか・・・
ほんとうざい
633デフォルトの名無しさん:2010/02/04(木) 15:37:08
大丈夫
6時間も経って書き込まれるいまさら感漂うそういうレスも十分ウザイから
634631:2010/02/04(木) 15:52:59
ああ『別々のプロセス』か。>>624と質問を勘違いしてた。
635デフォルトの名無しさん:2010/02/04(木) 15:53:43
質問者は本質が判ってなくてあさっての方向に進もうとしてる場合があるから
単純に質問にそのまま答えるよりも質問の意図を汲み取って
本質的な部分の間違いを正した方が良いケースは結構多いんだけどな
636デフォルトの名無しさん:2010/02/04(木) 20:32:37
俺なら受信と送信のスレッドを分けた上で
更に通信と計算処理のスレッドを分ける
637デフォルトの名無しさん:2010/02/04(木) 20:44:17
お前の話なんて聞いていない
638デフォルトの名無しさん:2010/02/04(木) 21:32:18
それは分けすぎだよ
639デフォルトの名無しさん:2010/02/04(木) 21:43:21
Linuxだとrecvとsendはスレッドセーフじゃなかった。
Windowsが最強なんだな
640デフォルトの名無しさん:2010/02/04(木) 21:48:32
俺なら受信と送信のスレッドを分けた上で
更に通信と計算処理のスレッドを分け、
計算処理はコア数分並列化する。
641デフォルトの名無しさん:2010/02/04(木) 22:05:39
while{

recvfrom 1
recvfrom 2

}

こうやった場合とスレッドでrecvfromわけた場合ってシングルコアなら基本的に動き同じですよね。
642デフォルトの名無しさん:2010/02/04(木) 22:07:33
それ何の言語だよ
643デフォルトの名無しさん:2010/02/04(木) 23:56:50
>>640
OS非搭載のマイコンプログラムで、それをするにはどうすれば出来ますか?
644デフォルトの名無しさん:2010/02/05(金) 00:01:09
>>643
君、マイコンwプログラムをしたことないの?
645デフォルトの名無しさん:2010/02/05(金) 00:06:31
いまからするんですよ
646デフォルトの名無しさん:2010/02/05(金) 00:17:29
LEDチカチカ光らせてから言えw
647デフォルトの名無しさん:2010/02/05(金) 00:26:41
LEDチカチカは本のをコピペで卒業しました。プログラム書いてないけど
みんなはOS非搭載の時は自前で簡易タスク切り替え、スケジューリング等を実装してるんですよね
並レベルのプログラマなら簡単にマイコン用ぐらいならできると聞いたんですよ
逆に出来ないと恥ずかしいレベルらしいです
648デフォルトの名無しさん:2010/02/05(金) 00:28:51
tronでも調べてみなさい
たいした事はしていない
649デフォルトの名無しさん:2010/02/05(金) 00:32:56
なんで、そんなこと言うの?
知っているくせに
たした事してないなら教えて
650デフォルトの名無しさん:2010/02/05(金) 00:37:37
調べてから言いなさい無能君
651デフォルトの名無しさん:2010/02/05(金) 00:38:30
こういうのって本にかいてたっけ
652デフォルトの名無しさん:2010/02/05(金) 00:50:54
こういうのって、職業プログラマーなら基礎の基礎知識でしょ
プログラマならOSの基礎ぐらい知ってるでしょう
それすら知らないのに、やれスレッドっでどうのなんて職業プログラマーじゃないよね
自分趣味だから基礎なんてないんです
自分みたいに趣味がほとんど?
653デフォルトの名無しさん:2010/02/05(金) 00:54:29
黙れ基地外。
654デフォルトの名無しさん:2010/02/05(金) 00:54:55
煽りを相手にするな('A`)
655デフォルトの名無しさん:2010/02/05(金) 01:09:58
>>641
まぁおなじっちゃ同じ。
つーか、ブロッキングソケットなんて業務じゃ絶対なしだから、
(マイクロソフトはふつーにブロッキングソケットのサンプルとか掲載してっけどね。)
非同期で話をするけど
普通は一個のスレッドで、
while()
{
 select()
 if(FD_SET(s1))recvfrom(s1);
if((FD_SET(s2))recvfrom(s2);
}
とかやるので一個のスレッドで複数のソケットを待つのは普通のやり方。

#一個のソケットに対して
#recvfrom(s1) 1回目
#recvfrom(s1) 2回目
#とかじゃないよね?

複数のスレッドで受信をしたいというのは、スレッドに対してもてるソケットの数に上限があるとか、
そう言うケースじゃないの?昔のWindowsはたしかそんな制約があったような。
656デフォルトの名無しさん:2010/02/05(金) 01:44:03
OSレスのマイコンのスタックは作ったけど、シングルタスクの場合>>655の通り全ての処理はポーリングでこなす事になる
純粋にパケットやデータを操作するよりもソケットの概念を実装する方が難易度は高い感じ
というか、ソケット付きのスタックはもうある前提の話か?

OSっていうと資源管理とかやらんといかんけど
タスクディスパッチャだけなら基本的にスタックの操作だけなのでごく簡単に作れる
657デフォルトの名無しさん:2010/02/05(金) 01:47:46
いとつのスレッドで、生成できるソケットはマイコンでは限られている
だから複数のスレッドをつくるということでしょうか
658デフォルトの名無しさん:2010/02/05(金) 01:57:26
ブロッキングとノンブロッキングの違いが解って無さそうですね
659デフォルトの名無しさん:2010/02/05(金) 02:06:01
理解できない人って、どうしてOSを特別視したがるんだろうね。
660デフォルトの名無しさん:2010/02/05(金) 02:13:00
日本語の不自由さからして中国人かな
661デフォルトの名無しさん:2010/02/05(金) 02:16:11
Windowsのselect関数が64個までしかソケットを扱えないっていう話じゃないかそれは
マイコンだからとかそういう話ではない
662デフォルトの名無しさん:2010/02/05(金) 04:32:18
663デフォルトの名無しさん:2010/02/05(金) 07:18:02
マイコンっていっても8ビットマイコンと32ビットマイコンじゃ
性能がかなり違うと思うけど
664デフォルトの名無しさん:2010/02/05(金) 08:29:10
俺なら受信・送信するたびに新しいスレッド作成してその上で実行し、
更に通信と計算処理のスレッドを分け、
計算処理は処理数分並列化する。
665デフォルトの名無しさん:2010/02/05(金) 11:17:34
>>656
どこでポーリング処理してんの?
666デフォルトの名無しさん:2010/02/05(金) 16:15:30
馬鹿にはプログラムは無理。ユーザに戻りな。
667デフォルトの名無しさん:2010/02/05(金) 17:28:16
ポーリング処理は専用のスレッドで行うに決まってるだろ。
668656:2010/02/05(金) 17:42:23
いやいやタスク分けてないんでメインループの中で処理するよ
ネットワークの制御はスループットが必要な通信でもなけりゃさして高速に反応する必要もないんで
2,3msに1回通る感じでもそれなりに使える
669デフォルトの名無しさん:2010/02/05(金) 17:44:55
ブロッキングソケットしかしらないからポーリングがわからないんだよ
670デフォルトの名無しさん:2010/02/05(金) 18:41:46
スレッドでのネットワークについて勉強できる本とかないですか?
C言語で
671デフォルトの名無しさん:2010/02/05(金) 19:13:29
言ってることが切れ切れで何がしたいのかさっぱりわからん

・開発環境
・実行環境(使用するOS)
・プログラミングの経験
・ネットワーク基本知識の程度

この位は書いとけ
672デフォルトの名無しさん:2010/02/05(金) 19:16:25
>>671
マイコン
Cの基本
ネットワークの基本
673デフォルトの名無しさん:2010/02/05(金) 19:39:00
これがゆとり世代か(;´Д`) 後は任せた
674デフォルトの名無しさん:2010/02/05(金) 19:52:29
ゆとり世代じゃなく、ゆとり時代
ゆとり時代の象徴トヨタゆとり過ぎでエライ目にあっているな
あれみると、上から下まで日本は "ゆ と り" とわかるだろう
675デフォルトの名無しさん:2010/02/05(金) 19:59:04
お願いします。
このままじゃ空白の世代ができてしまいます
676デフォルトの名無しさん:2010/02/05(金) 20:02:54
空白の世代ができて何か問題あるん?
677デフォルトの名無しさん:2010/02/05(金) 20:19:34
全く問題ないよな
空白の世代が出来たとしても、空白の世代の影響がなくなる未来が来るよ
ゆとり時代の最大の功績は空白の世代を作り、未来の世代に試練を与えたことである。
そして、この試練を克服した世代が1000年以上の長期にわたる繁栄の礎を形成する
長い目で見ればいい事だな
678デフォルトの名無しさん:2010/02/05(金) 20:21:33
>>677
団塊世代と同じ脳じゃんあんた
679デフォルトの名無しさん:2010/02/05(金) 23:13:47
複数のソケットやスレッドを管理しなけりゃならないなら
OS使った方がいいんじゃね?
680デフォルトの名無しさん:2010/02/05(金) 23:35:59
は?なにが言いたいの?
681デフォルトの名無しさん:2010/02/05(金) 23:45:16
ブロッキングの方が良い処理もあれば、そうじゃない処理もある
目的もないまま方法論をあーだこーだこねくり回しても無意味だよ
まずは組んでみればいいじゃない

組めもしないなら、何が理解できないのか、何が準備できていないのか、を相談すれば良いだけのこと
何もしないうちから何したらいいですかと言われても誰も答えられない
682デフォルトの名無しさん:2010/02/05(金) 23:50:25
なにマジなってんの
683デフォルトの名無しさん:2010/02/06(土) 00:05:04
>>656
プロプならスタック作れるの当然だけど、趣味だけプじゃとてもそんなレベルに行かないよ
趣味プはひたすらパクル、と言うことでuIPをパクって来た(これサンプル付きだよ)
マルチタスクはネットタスク、UARTタスク、UI監視タスク...をリアルタイム性を維持しながら
切り替えるのに使いたいの。
超簡易超手抜きリアルタイムモニターでもさ、作れるとあとあとマイコンプログラムするのに便利でしょ

タスクディスパッチャ簡単に作れるなら、どう作るか教えてください
684デフォルトの名無しさん:2010/02/06(土) 00:35:48
OSもパクればいいじゃない
685デフォルトの名無しさん:2010/02/06(土) 00:59:37
最近ハード自体安くなってるから
1GのNIC搭載したFPGAボード作って
さらに独自のスタック作るなんて1ヶ月程度の遊び
で誰でも作れるだろ
686デフォルトの名無しさん:2010/02/06(土) 01:02:10
そんなに安いもんなの?
687デフォルトの名無しさん:2010/02/06(土) 01:26:07
>1GのNIC搭載したFPGAボード作って 
製造実装で10万円はかかるだろw
688デフォルトの名無しさん:2010/02/06(土) 01:27:57
趣のある味なプログラムを作れるのが趣味グラマ
金とオマンマの為に命を削って、別に愛してもいない妻の為に
家に給料を持って帰るのがプログラマ。
689デフォルトの名無しさん:2010/02/06(土) 02:13:34
独自のスタックとか、組んでみるってのは勧めないなあ。
たまたま動いたレベルで世に出したら、動かなくて致命的だと思う。
ちゃんと仕様上問題ないか検証してから出してくれ。

プログラマはオープンソースで無料奉仕するのが基本だろう。
対価を求めては逝けない。無料でソースを後悔してこそ尊敬されるよ。

普通にatomあたりの載ったGbE付きのPCマザーでいいじゃんと思うが。1万円もしないぞ。
690デフォルトの名無しさん:2010/02/06(土) 03:01:13
HELL! GPL.
691デフォルトの名無しさん:2010/02/06(土) 07:10:04
独自のネットワークスタックとか勉強するのにお勧めの本おしえてください
692デフォルトの名無しさん:2010/02/06(土) 07:48:40
>>691
http://www.amazon.co.jp/dp/4894714957

英語版で読んだから日本語版がいいかは知らないが
693デフォルトの名無しさん:2010/02/06(土) 08:03:43
>>691
その本見ても製品レベルの
スタックは絶対作れないしたいしたこと
書いてないから別の本読め
694デフォルトの名無しさん:2010/02/06(土) 08:14:38
>>693
別の本とは具体的にどれのことですか
695デフォルトの名無しさん:2010/02/07(日) 15:24:08
本というよりbsdの最新版のソースでも見たほうが速いと思う。
ipv6伸すタックも探せば誰か作ってるだろう。
696デフォルトの名無しさん:2010/02/07(日) 17:47:37
ここスレのエロイ人スタック作ったことあるの?
車輪の再発明でも、ネットプログラム熱く語る人なら
俺俺スタック作ったことあるんじゃないの。
スタックぐらい作ってから熱く語れ(エラそうなこと言え)って言われるよ
697デフォルトの名無しさん:2010/02/07(日) 18:07:27
TCPなんてまともに作れませんよ。無理に決まってるだろ。挫折したわ。
698デフォルトの名無しさん:2010/02/08(月) 09:17:34
常にフラグメント禁止でも制御系の通信なら事足りますし・・・
699デフォルトの名無しさん:2010/02/08(月) 11:07:23
>>667
よくわからない。>>655のとおりだとポーリングを行わないと思う。
700デフォルトの名無しさん:2010/02/08(月) 12:14:21
スレッドわけるというネタの続き。
701デフォルトの名無しさん:2010/02/08(月) 20:26:12
>>698
どういうこと?
702デフォルトの名無しさん:2010/02/08(月) 20:31:52
>>701

完全に実装しなくてもいいってこと
703デフォルトの名無しさん:2010/02/08(月) 20:33:58
完全に実装とはなにをいってるんだ
704デフォルトの名無しさん:2010/02/08(月) 20:40:30
UARTでいいよ
705デフォルトの名無しさん:2010/02/08(月) 22:28:10
>>703
サブセットにする
706デフォルトの名無しさん:2010/02/08(月) 22:30:21
>>705
kwsk
707デフォルトの名無しさん:2010/02/08(月) 22:40:28
出来ない事を要求されたら「出来ないものは出来ん」と開き直る。
708デフォルトの名無しさん:2010/02/08(月) 22:45:19
それは開き直りじゃないだろ
709デフォルトの名無しさん:2010/02/08(月) 22:50:00
>>708
そういうプロトコルですよ
710デフォルトの名無しさん:2010/02/08(月) 23:01:51
つまりtcpに似た何かでしか通信出来ない屑スタックなだけじゃんw
古のsnaでも使えばいいのにw
711デフォルトの名無しさん:2010/02/08(月) 23:17:09
>>710
最初からそう言っている
712デフォルトの名無しさん:2010/02/08(月) 23:22:08
tcpで1バイト毎にかならず1データグラムを送る糞デバイスを見た事がある。
713デフォルトの名無しさん:2010/02/09(火) 06:26:17
>>712
キーボードのエコーバックとかふつうにそうなるでしょ
めずらしいことじゃないよな

714デフォルトの名無しさん:2010/02/09(火) 09:54:09
*必ず*だから制約条件を満たしていない。
715デフォルトの名無しさん:2010/02/09(火) 10:08:47
別にめずらしくもなんともないことを*必ず*やるとなぜに糞扱いになってしまうのかが謎だ
716デフォルトの名無しさん:2010/02/09(火) 11:13:52
>>715
100バイトのデータを送るのにtcpデータグラム100個送るのが糞でないのか? 
717デフォルトの名無しさん:2010/02/09(火) 12:14:54
まあプログラム的に美しくはないがw
それでいくとtelnetクライアントも糞になっちまうなあ

そのデバイスのせいで輻輳が起きるとかじゃなければOKなんじゃね?

718デフォルトの名無しさん:2010/02/09(火) 12:19:39
telnetは100バイト送れるときは100バイト送る。
世迷言を垂れ流すな。
719デフォルトの名無しさん:2010/02/09(火) 13:16:28
普通に使ってるときはエコーバックのために一文字毎にしか送って無いように見えるけどなあ?
超速タイピングとかコピペ貼りつけとかするとまとめてくれるのかな??
720デフォルトの名無しさん:2010/02/09(火) 13:34:24
お前ら素人が知らないだけで、telnetは見えないデータを送ってるんだよ。
例えばTERMやDISPLAYなどの環境変数。
721デフォルトの名無しさん:2010/02/09(火) 13:46:13
んじゃあ
全部1バイトづつ送る謎のデバイスは糞だけど
telnetはチョビットだけマトメテ送ってくることが有るので
糞じゃないってことでよろしいすかぁ?

謎のデバイスの正体やいかに?






722デフォルトの名無しさん:2010/02/09(火) 15:59:38
>超速タイピングとかコピペ貼りつけとかするとまとめてくれるのかな??

yes
723デフォルトの名無しさん:2010/02/09(火) 19:50:07
telnetはプロトコルでしょ。話にでてるのはデバイスでしょ?

ネットワークに関するデバイスで、TCPスタックを提供するドライバが
TCPで1バイトづつ送られてきたときに、普通はくっつけてイーサネットのフレームにして流すのに
毎回、1バイト/1フレームで出す、とかそう言う話でしょ?
それだったら超糞だけど、ほんまかいな。
724デフォルトの名無しさん:2010/02/09(火) 19:54:48
イーサネットでTCPにおいてフレーム流すのって時間制限なかったっけ
725723:2010/02/09(火) 19:58:50
実はパケットキャプチャソフトでのぞいたら1バイトのペイロードのフレームばっかりだった、
っていうのなら、単にソフトがNagleのアルゴリズムをOFFにしたのかも知れないし、
単純にTelnetだったのかも知れないし、本当に必ず1バイト1フレームなら糞だよね。
PICマイコンの電子工作キットかなんかで、最初から組み込まれているTCPスタックとかか?
726716:2010/02/09(火) 20:41:36
>>723

デバイスはいわゆる工業デバイスで、基本的な動作は電波で読み取ったデータを
ホストに垂れ流す様なデバイスです。 だから元々意味のあるデータの単位はけっこうな
大きさがあり、プロトコル的に1バイトのデータに意味のある事は絶対にありません。

>>725
っていうか、ものすごく単純なTCP実装であってNagelどころか送信側のTCP窓が1バイト
に固定してあるんじゃないかという気がします。
727デフォルトの名無しさん:2010/02/09(火) 20:52:25
納期に追われて多バイト送信のバグがとれなくて1バイト送信だけ生かして納品した機械だったに一票w

728723:2010/02/09(火) 20:56:07
なるほど
729 ◆0uxK91AxII :2010/02/09(火) 22:30:33
元々UARTで吐くのを、強引にTCPで出してみました的な雰囲気。
730デフォルトの名無しさん:2010/02/09(火) 23:00:55
ブロッキングデバイスとストリームの区別もつかない香具師がいるのか
731デフォルトの名無しさん:2010/02/09(火) 23:28:27
> ブロッキングデバイス
斬新なデバイスを引っ提げて期待の新人乱入。
732デフォルトの名無しさん:2010/02/09(火) 23:43:34
ACKが返るかタイムアウトするまで
PCIバスをブロックし続けるような感じ。
733デフォルトの名無しさん:2010/02/10(水) 00:45:52
違うよ
ACKが返るかタイムアウトするまで
全てのリソースをブロックする
734デフォルトの名無しさん:2010/02/10(水) 03:19:39
500個程度のURLにタイムアウト4秒でHEADメソッドを送ってるんですが、
途中から、応答が返ってこなくなります(すべてタイムアウトになります)

これってISPの制限だったりするんでしょうか?
735デフォルトの名無しさん:2010/02/10(水) 10:11:33
攻撃とみなされてブロックされているんだろう。
ブロックしているのは、加入ISP、攻撃を受けているサーバ、もしくはお前のPCのPFW。
736デフォルトの名無しさん:2010/02/10(水) 13:55:31
>>729
オレもそんな気がした
737デフォルトの名無しさん:2010/02/10(水) 15:09:09
>>735
ありがとうございました
PFWという発想はなかったので参考になりました

それと.netのSocketクラスを使っているのですが、
Connect()のタイムアウト値を設定する方法ってありませんか?

送信と受信はSend/ReceiveTimeoutで指定できるのですが、
Connect()のタイムアウトまでは指定に関係なく20秒程度かかります
738デフォルトの名無しさん:2010/02/10(水) 21:34:30
>>727
ごめんなさい。マジでそれ出荷したことあります。
739デフォルトの名無しさん:2010/02/10(水) 22:57:16
性能要件を満たしてりゃ何も問題ない
740デフォルトの名無しさん:2010/02/11(木) 00:23:18
納期遅れより1000000000000倍まし
741デフォルトの名無しさん:2010/02/11(木) 00:26:29
そこまでの差は無い
742デフォルトの名無しさん:2010/02/11(木) 01:26:06
車輪がスタックした
743デフォルトの名無しさん:2010/02/12(金) 03:26:08
嫌がらせデバイスで、送って来たパケットを全部1バイト1フレームに変換して送り返すルータとかあったりしてw
つーか普通にipsでそういう攻撃防御のシーケンス有りそうw
タイムアウトぎりぎりまで遅延して再送させまくって侵入を遅らせるとか。
rst返して叩き切るのとか、何も返さないで捨ててしまう火壁より立ち悪いなw
744デフォルトの名無しさん:2010/02/12(金) 03:48:52
pingでbroadcastするのは流行ってたな
745デフォルトの名無しさん:2010/02/12(金) 06:22:03
smurfなつかし
746デフォルトの名無しさん:2010/02/12(金) 19:25:36
C# .NET の勉強がてら、sniffer もどきを作っていますが
Raw Socket でパケットを監視していると、時々受信できない場合があるようですが
実際に通信しているアプリケーションでは無事に受信しているようです
こういうことはあり得るでしょうか?
ぐぐってみると、Raw Socket ではパケットを取りこぼすことがある、といったような記述が
二、三見つかりましたが、これと同じ現象かどうか判断がつきませんでした
747デフォルトの名無しさん:2010/02/12(金) 19:45:15
rawsocketはunixしか使えないものとおもってた
748デフォルトの名無しさん:2010/02/13(土) 02:33:29
あり得る
749デフォルトの名無しさん:2010/02/13(土) 02:34:27
あり得る
大抵はプログラムの書き方が悪い
750746:2010/02/13(土) 07:44:12
ありがとうございます
やっぱり自分のチョンボですかね・・・
受信したときに呼ばれる非同期のハンドラの処理が重すぎて
次のパケットの受信に間に合わない、ということが起きてるんでしょうか?
751デフォルトの名無しさん:2010/02/13(土) 08:47:47
wininet関連の関数でやりとりする要求ヘッダの中身をいじるにはどうすればいいのでしょうか?
追加ヘッダに関しては引数で指定できるのですが、それ以外の項目のいじり方がよくわかりません
752デフォルトの名無しさん:2010/02/13(土) 10:50:02
これだと取りこぼした事ないよ
http://homepage2.nifty.com/spw/tips/PacketDump.html
753751:2010/02/13(土) 11:40:09
自己解決しました
754デフォルトの名無しさん:2010/02/13(土) 13:40:30
>>752
まさにそういうやり方でやってるんですが・・・
裏で他のプロセスががしがし通信している状態で
特定のホスト・ポートとのやり取りだけを検出して表示するようにしたところ
大部分は表示されるんですがところどころ抜けているようです
755デフォルトの名無しさん:2010/02/13(土) 13:46:09
ほかのモニタソフトでも同じように抜けるのかどうか試してみたら?
ほかので抜けないんならどこかにバグあり
ほかのでも抜けるんならマシンスペックが足りてないのでは?
756デフォルトの名無しさん:2010/02/13(土) 14:53:26
winpcapは使わないの?
757デフォルトの名無しさん:2010/02/13(土) 15:23:03
実は UDP でした
とか w
758デフォルトの名無しさん:2010/02/13(土) 17:25:42
>>757
raw socketの挙動がudpか否かで変わるとは初耳だな。
759746:2010/02/13(土) 18:30:32
>>755
WireShark ではちゃんと取れてますね
ということは作りが悪いのか・・・
こちらに置いてあるソースを元にしていじっています
tp://www.stackasterisk.jp/tech/program/howtosniff01_01.jsp

やりたいことは、あるアプレットがサーバと送受信している内容を監視して
電文の内容に応じてファイルに保存したりする、というようなものです
確立されているソケットの間に割り込んでプロキシサーバのような動きが出来ればと思いましたが
出来るかどうかもわからないので、とりあえず sniffer のような動作を目指します

パケットを受信するたび、送信元/先どちらかのIPアドレス+ポート番号が監視対象サーバのものであれば
画面に表示し、そうでなければ捨てる、という処理にしたんですが、アプレットの動作から判断して
当然受信しているはずの電文が、ツールで表示されないことがあります
すべてが取れる/取れないのではなく、取れたり取れなかったりするのは、ネットワークの負荷等
環境の差異によるものであり、高負荷の場合を考慮していない設計であるのが問題なのでしょうか?
どういった方向で解決すべきなのか・・・ WinPCap も試してみるべきですかね

>>756
WinPCap でもいいんですが、出来れば事前にインストールの必要のない
Raw Socket だけでやりたいです 無理なら諦めますが
760デフォルトの名無しさん:2010/02/13(土) 19:08:34
> パケットを受信するたび … 画面に表示し
こんな事やってたらこぼすのは当たり前。
761546:2010/02/13(土) 19:22:29
>>760
表示といっても、時刻、送信元/先IPアドレス・ポート番号、データ長、データの先頭16バイトの16進ダンプを
ListView に追加するだけなんですが、これだけでも重すぎますか?
762デフォルトの名無しさん:2010/02/13(土) 19:36:52
試せばいいじゃん
763デフォルトの名無しさん:2010/02/13(土) 20:07:45
>>761
パケットを取るスレッドはBackgroundWorker使うとか
764723:2010/02/13(土) 21:34:01
ListViewは重たそうだな。
あれは案外というか、1万件くらい登録したら分かるが激重
(オーナードローで無ければの話だが。)
手っ取り早く表示をやめてファイルに落として抜けるか見るとか。
それが原因ならメインスレッドの優先度より高いスレッドで受信して、一旦ファイルに全部はいてから、
メインスレッドでチンタラ表示させてみればいい。
765デフォルトの名無しさん:2010/02/13(土) 21:34:48
 
766746:2010/02/13(土) 21:55:26
>>764
ズバリそれだったようです
試しに、パケット受信時に ListView に載せるのをやめて、データを内部で保持するのみとし
停止後にまとめて表示するようにしたら、今のところ取りこぼしは発生していません
表示に時間が掛かっているとは、>>760氏をはじめ皆さんの慧眼に恐れ入るばかりです
あとは溜め込んだパケットを解析する処理をどうするか、ちょっと悩んでみます
皆様、ありがとうございました
767デフォルトの名無しさん:2010/02/13(土) 22:03:30
>>761
重すぎます
768デフォルトの名無しさん:2010/02/13(土) 22:08:25
あ、間違えた。オーナードローじゃなくてオーナーデータだ。
そっちなら激早。
769746:2010/02/13(土) 22:19:05
>>767
わかりました!

>>768
.NET 2.0 でいうところの仮想表示モードというやつでしょうか
これから勉強します ありがとうございます
770デフォルトの名無しさん:2010/02/16(火) 01:38:50
透過型ではないのですがローカルに保存した2chのDATファイルを要求に応じて
成形してブラウザに返す簡易Httpサーバーを作りたいのですがどの辺から勉強すればいいでしょうか?
771デフォルトの名無しさん:2010/02/16(火) 01:42:17
作成言語はC++(VC++)です
772デフォルトの名無しさん:2010/02/16(火) 01:45:08
>>770
HTTPプロトコルから
773デフォルトの名無しさん:2010/02/16(火) 01:51:43
>>772
そんなレベルからですか・・・
.netだとわりと簡単だったのでそれと同等の物をC++で書いてみようと思ったのですが・・・

こういうライブラリを使うと簡単とかはないですかね?

2chからDATを取ってくる部分はwininetで書いたのですが・・・
774デフォルトの名無しさん:2010/02/16(火) 04:11:34
775デフォルトの名無しさん:2010/02/16(火) 04:13:47
>>774
よくわかりましたねw
サーバー部分もなんとかなりそうです。
776デフォルトの名無しさん:2010/02/16(火) 09:48:49
777デフォルトの名無しさん:2010/02/16(火) 10:02:16
便乗質問だがwinsock,wininet,winhttp(ver1,ver2)とあるけどどれで
過去の互換性とかどんな物かね?

winhttp ver1はXP以降
winhttp ver2はvista以降
となってるけどwinsockとwininetがよくわからん
778デフォルトの名無しさん:2010/02/16(火) 21:14:04
winsockは過去の遺物
779デフォルトの名無しさん:2010/02/16(火) 21:33:59
え?
780デフォルトの名無しさん:2010/02/17(水) 02:48:05
まあ過去の遺物がいつまでも使えるのがMS製品のいい所でありみんなが使ってる理由でもあるけどな。
781デフォルトの名無しさん:2010/02/17(水) 03:41:49
ありがとうございました
782デフォルトの名無しさん:2010/02/17(水) 11:40:45
winhttpで簡易webサーバーを作る際について教えてください。
ブラウザから所定のurlを要求するとhtmlファイルを送るという基本動作については問題なく動作しています。
ところがブラウザに送ったhtmlのヘッダにcssやjsを二つ以上指定してあると
その要求に対する対応処理がおかしくなっています。

ブラウザ サーバー
html要求->html要求を受信
783デフォルトの名無しさん:2010/02/17(水) 11:46:07
途中になりました。

ブラウザ       サーバー
html要求 -> html要求を受信
              ↓
            ファイル検索
              ↓
html受け取り <- html送信
   ↓
html解析
   ↓
cssx2 jsx1要求 -> cssx2 jsx1要求受信   ← ここがおかしくなる


要求はファイル分(cssx2,jsx1)分くるようなのですが、
RequestIdを見ると3つとも同じでした。

この辺をうまく対応しないと駄目なんですかね?
というか方法がさっぱりわからない・・・
784デフォルトの名無しさん:2010/02/17(水) 11:55:22
>>780
だが時に winsock.h と winsock2.h が混在してコンパイルできなくなる罠が。
785デフォルトの名無しさん:2010/02/17(水) 12:52:07
せめて1週間は試行錯誤してから聞けよ
786デフォルトの名無しさん:2010/02/17(水) 13:32:20
keepalive とか サーバー側から close とかでぐぐれ
787デフォルトの名無しさん:2010/02/17(水) 19:12:53
winsockの時代は終わったのか
winhttpとやらのほうが使いやすいのかな
Cにも組み込めるんだよね
788デフォルトの名無しさん:2010/02/17(水) 19:37:08
つーか、winsockをhttp限定だとおもってるのか?
789デフォルトの名無しさん:2010/02/17(水) 19:58:39
そもそも、winhttpって、
wininetと同じでwinsockより一段上のレイヤだろ。

内部的にwinsockを使ってると考えるのが自然だと思うんだが。
790デフォルトの名無しさん:2010/02/17(水) 20:00:35
>>786
ありがとうございます。
Connection: closeを送っても結果は同じでした。
実はその後がありまして・・・
良かれと思って入れたマルチスレッド化を止めたところ問題ないく動きました・・・・

うーむ・・・この辺の仕組みを解説してるようなところはないでしょうか・・・
791デフォルトの名無しさん:2010/02/17(水) 20:06:46
もう bind→listen→accept→fork でいいじゃん
792デフォルトの名無しさん:2010/02/17(水) 22:28:04
マルチスレッドがよく分かってないなら、使わない方がいいよ

マルチスレッドって何も考えずにデータを共有できるから便利そうに
見えるけど、競合問題を起こさないように作るのは初心者には難しい
793デフォルトの名無しさん:2010/02/18(木) 00:35:09
大事なことは先に言え
794デフォルトの名無しさん:2010/02/18(木) 07:04:03
>何も考えずにデータを共有できるから
???
795デフォルトの名無しさん:2010/02/18(木) 11:06:22
マルチプロセスだったら何も考えずには共有できない
796デフォルトの名無しさん:2010/02/18(木) 20:56:10
マルチスレッドまともに書けない奴にマルチプロセスで書かせた所で
力業で固めたゴミみたいなプログラムが出来るだけだろ。
797デフォルトの名無しさん:2010/02/18(木) 21:54:47
*nixがゴミ溜めなのは同意
798 ◆0uxK91AxII :2010/02/18(木) 22:09:39
CoInitializeEx云々とか、予想してみる。
799デフォルトの名無しさん:2010/02/18(木) 22:48:09
マルチスレッドってデータ共有とか
ただスレッドごとに違う領域にデータ書き込めばいいだけだろ
800デフォルトの名無しさん:2010/02/18(木) 22:54:29
それ共有っていわねぇし
801デフォルトの名無しさん:2010/02/18(木) 22:56:23
メモリ領域は共有だろが
802デフォルトの名無しさん:2010/02/18(木) 23:02:52
OSも共有してるし筐体も共有してる罠
803デフォルトの名無しさん:2010/02/18(木) 23:26:19
仮想化とか共有無茶し過ぎだしな。
804デフォルトの名無しさん:2010/02/19(金) 09:55:41
複数のインターフェイスをもってるマシンで、bindさせたい場合、
インターフェイス別(それぞれのIP別)にソケットを作ってbindしないとダメですか?
805デフォルトの名無しさん:2010/02/19(金) 10:31:22
ワイルドカードでbind出来る。
806デフォルトの名無しさん:2010/02/21(日) 11:31:16
WinSockのWSAAsyncSelectで
FD_CONNECTでsendしても問題ない?
807デフォルトの名無しさん:2010/02/24(水) 09:58:18
ローカルで動くListener系鯖の待ちうけアドレスとしてlocalhost:8080などを使いますが
p2proxyなど同様のローカル鯖タイプが使っている場合もあるので別のアドレスを
使いたいのですが可能なのでしょうか?
808デフォルトの名無しさん:2010/02/24(水) 11:14:34
可能です。
809デフォルトの名無しさん:2010/02/24(水) 14:38:48
なるほど
どのようにすればよいのでしょうか?
wininetを利用しています。
810デフォルトの名無しさん:2010/02/24(水) 14:48:36
ググレばいいと思うy
811デフォルトの名無しさん:2010/02/24(水) 14:52:21
Listener系鯖、ローカル鯖ってなんだろう。関鯖にブランド勝負挑む新鋭か?
812デフォルトの名無しさん:2010/02/24(水) 15:13:20
ソフトの使い方はスレ違い
813デフォルトの名無しさん:2010/02/24(水) 16:55:36
>>812
MFCの関数くらい入れてやれよ
814デフォルトの名無しさん:2010/02/24(水) 17:42:35
ローカルで動くListener系サーバソフト(って何?)のポートを変えたいという相談かと思いまして。
815デフォルトの名無しさん:2010/02/24(水) 17:57:45
自分でコード書いてるなら自分で指定しているポートを変えればいい
自分で書いたんじゃ無けりゃそのライブラリなりアプリの説明書読むしかない
816デフォルトの名無しさん:2010/02/24(水) 17:58:59
ってアドレスかよ。
アドレスは動かすPCで追加してそれ指定すれば?
817デフォルトの名無しさん:2010/02/24(水) 18:14:23
えっ
818デフォルトの名無しさん:2010/02/24(水) 18:28:10
えっ
819デフォルトの名無しさん:2010/02/24(水) 23:04:24
教える人は自分が偉くなったと勘違いをしているのか…
820デフォルトの名無しさん:2010/02/24(水) 23:12:23
教えられる人よりは偉い
821デフォルトの名無しさん:2010/02/24(水) 23:23:04
うん、気に入らない奴には教えない。
822デフォルトの名無しさん:2010/02/24(水) 23:37:01
ゆとりはそんなことも知らないんだよな
まあ左翼の被害者だからかわいそうだけど
823デフォルトの名無しさん:2010/02/24(水) 23:43:29
>>817 >>818

127/8にアドレス追加するってことじゃないの? 
824デフォルトの名無しさん:2010/02/25(木) 07:56:00
>>822 バカウヨは巣から出るなよ
825デフォルトの名無しさん:2010/02/25(木) 10:31:40
結局質問者は8080だけを変えたいのかどうなのか
826デフォルトの名無しさん:2010/02/25(木) 10:37:53
板違いの話題をわざわざ聞いてまで教える必要は無い。
827デフォルトの名無しさん:2010/02/25(木) 12:05:48
ネトアサも巣にかえれー
828デフォルトの名無しさん:2010/02/25(木) 13:39:38
Winsockでサーバとクライアントを作り、通信を行いたいのですが、
WSAAsyncSelect後のFD_CONNECTでエラーが返ってきてしまいます。
丁度20秒で接続が切れたのでタイムアウトしたのかと思っているのですが、
タイムアウトした原因は何なのでしょうか?
とりあえずの127.0.0.1での接続には成功しています。
829デフォルトの名無しさん:2010/02/25(木) 13:48:40
アドレスが間違っているとか
ファイアウォールやらルータやらにブロックされたとか
830デフォルトの名無しさん:2010/02/25(木) 19:17:54
>>829
ありがとうございます。
パソコンAのポートを開放し、パソコンBにウイルスチェックのプログラムが起動していたので
それを切ったところ、正常に繋がりました。(両方が原因?)
ただ、パソコンAがサーバでパソコンBがクライアントの場合は正常に動くのですが、
パソコンBがサーバでパソコンAがクライアントの場合は繋がりませんでした。

サーバ側は接続で使用するポートを必ず開放しなければならないのでしょうか?
831デフォルトの名無しさん:2010/02/25(木) 19:27:15
?
832デフォルトの名無しさん:2010/02/25(木) 19:32:25
>>830
クライアントマシンむけのファイアウォールソフトは
待ちうけポートは遮断がデフォルトな場合が多いね
サーバーを動かす場合は開放してやってください
833デフォルトの名無しさん:2010/02/25(木) 21:27:38
なるほど
どうも有難うございます。
834デフォルトの名無しさん:2010/02/26(金) 08:26:08
プログラム以前のレベルだな。
835デフォルトの名無しさん:2010/02/27(土) 14:54:56
WinSockでファイアウォールを越える方法を教えてください。
836デフォルトの名無しさん:2010/02/27(土) 14:57:24
まずファイアウォールのポートを開放します
837デフォルトの名無しさん:2010/02/27(土) 18:46:53
次に手を洗います
838デフォルトの名無しさん:2010/02/27(土) 20:17:25
そしてパンツを脱ぎ
839デフォルトの名無しさん:2010/02/27(土) 20:57:11
正座して
840デフォルトの名無しさん:2010/02/27(土) 20:58:02
自分の尻を両手でバンバン叩きながら白目をむき
841デフォルトの名無しさん:2010/02/27(土) 21:42:13
UPnPと叫びます
842デフォルトの名無しさん:2010/02/27(土) 23:47:50
PCを購入する
843デフォルトの名無しさん:2010/02/28(日) 21:57:03
ファイヤウォールの電源を落とす。
管理者にファイヤウォールで障害が発生したとメールを送り電源を落とさせる。
掃除のおばちゃんにメールを送り、ファイヤウォールの掃除を挿せるw
844デフォルトの名無しさん:2010/02/28(日) 22:15:28
>>843
ギャグの最後に噛むとか
845デフォルトの名無しさん:2010/03/01(月) 02:18:43
いいから真面目に語れよ。 age
846デフォルトの名無しさん:2010/03/02(火) 20:51:45
復活あげ
847デフォルトの名無しさん:2010/03/02(火) 21:24:39
http://ula.cc/phoenix/
2ちゃんねる復活への奇跡の軌跡
848デフォルトの名無しさん:2010/03/03(水) 02:38:16
チョンに攻撃させて、ファイヤウォールを落とす。
にちゃんってまさか丸裸で繋いでるのかね?
849デフォルトの名無しさん:2010/03/03(水) 03:16:14
850デフォルトの名無しさん:2010/03/03(水) 05:40:28
botのアクセスとかクルーザーのアクセスを全部禁止したいのですが
プログラムをどのように書けばよいでしょうか?
851デフォルトの名無しさん:2010/03/03(水) 07:24:35
惜しい。botをboatとtypoしていれば完璧だったというのに。実に惜しい。
852デフォルトの名無しさん:2010/03/03(水) 08:46:25
>850
パターンマッチについて勉強しな
botやクローラと思われるもののパターンに当てはめて弾くという
泥臭い方法しかない
文字列もネットワークも抗ウィルスもみんな同じ
853デフォルトの名無しさん:2010/03/03(水) 11:42:43
いたちごっこの泥沼田な。がんがれ。
F5連打も対応しておいたほうがいいかもな。
854デフォルトの名無しさん:2010/03/03(水) 12:21:38
プロバイザーに相談しる
855デフォルトの名無しさん:2010/03/03(水) 12:24:38
クローラーやボットたちをgrepで弾いてみる
http://colo-ri.jp/develop/2009/07/clawlerbot.html
856デフォルトの名無しさん:2010/03/03(水) 12:29:19
>F5戦闘機2機が墜落、3人が死亡
ネタだと思ったもれ
857デフォルトの名無しさん:2010/03/03(水) 12:58:59
どう見ても謀略でしょこの組織力と計画性は

中国、韓国にとってマスコミをコントロールできても1000万人が見る
ネットの掲示板でこれだけ民主の悪事を暴露され続けたらせっかくの
日本侵略計画が失敗しかねないから。
ここで法的な制裁を厳しく加えないと民主党に都合の悪いニュースや危険な
法案を通そうとする時に、こじつけの理由でサイバーテロを繰り返すように
なるだろう。

韓国は中国共産党の思惑通り反日思想や歴史捏造で冷静な思考が出来ず
に動いてしまっているが、このまま愚かな事を続けていると北朝鮮と同じ
道を辿るぞ。
858デフォルトの名無しさん:2010/03/03(水) 13:00:18
韓国のバカと同様、おまえも巣に帰れw
859デフォルトの名無しさん:2010/03/04(木) 10:14:39
在日も半島に変えればいいのに。日本嫌いなんだしw
860デフォルトの名無しさん:2010/03/04(木) 10:30:35
>>859
「旅費、向こうでの仕事、あと当面の生活費を要求するニダ!」
861デフォルトの名無しさん:2010/03/04(木) 10:36:56
まあまあ。
特別在住許可は、南北分裂して帰りにくいから、特別に許可してやってるんだし
半島統一までは悪さしなけりゃ置いてやろうぜ。
統一したら置いてやる意味無くなるけどな。
862デフォルトの名無しさん:2010/03/04(木) 11:31:37
ネトウヨはスレタイを読むこともできないことが確認されました。
863デフォルトの名無しさん:2010/03/04(木) 12:12:02
【誘導】

ローカルルール

この板はプログラムを作る人のための板です。
ネタ、板とは関係の無い話題はご遠慮ください。
864デフォルトの名無しさん:2010/03/04(木) 19:52:45
どのあたりが誘導なんだ?
865デフォルトの名無しさん:2010/03/04(木) 21:55:24
プログラマは在日率高そうだからなぁw
866デフォルトの名無しさん:2010/03/05(金) 00:33:18
利権絡みはチョンの企業が噛んでる事は多い。
社長と患部がチョンとかw
867デフォルトの名無しさん:2010/03/05(金) 00:53:27
>>866
それで思い出した。
前の会社でチョンとの仕事した時に、2010年にバグるように仕込んでたわ。
今頃2000年になってるはずだが、どうなったかな。
868デフォルトの名無しさん:2010/03/05(金) 01:38:44
ちょにーw
869デフォルトの名無しさん:2010/03/05(金) 05:02:04
現在、エコークライアント及びエコーサーバの作成しています。
ipconfigコマンドで調べたIPアドレスを使用して、
同じパソコンで起動しているサーバに接続しようとしているのですが、
10061(接続を試みましたが、強制的に拒否されました。)
と表示されて繋がりません。
また、サーバプログラムを起動していなくても同じエラーが表示されます。
一体何が原因なのでしょうか?
870デフォルトの名無しさん:2010/03/05(金) 07:34:47
ファイヤーウォールでふさがれてないかい?

871デフォルトの名無しさん:2010/03/06(土) 02:47:51
プログラム以前の問題だな。ネットの勉強してこい。
872デフォルトの名無しさん:2010/03/06(土) 16:12:50
おまえらならもどき含めてFirewallを色々作った事あると思うけど
そんなおまえらがFirewallを作る時に参考にしたサイト教えれ
873デフォルトの名無しさん:2010/03/06(土) 16:19:46
ソース読めよ
874デフォルトの名無しさん:2010/03/06(土) 16:24:34
今月のWeb+DBマガジンのモダンネットワークプログラミングについての特集読んだ?
イベント駆動のパターンってタスクシステムと同じだと思うんだけど、違うのかな?
筆者は閉じこもらずにゲームプログラミングのパターンとかも勉強したほうがいいと感じた。
特集自体はすごく分かりやすくまとめてあって役に立った
875デフォルトの名無しさん:2010/03/06(土) 16:45:02
禁句出たね
876デフォルトの名無しさん:2010/03/06(土) 17:28:10
>>874
読んでないからだろうが
>筆者は閉じこもらずにゲームプログラミングのパターンとかも勉強したほうがいいと感じた。
文章明快意味不明なんだが
877デフォルトの名無しさん:2010/03/06(土) 18:27:39
>>876
筆者乙
878デフォルトの名無しさん:2010/03/06(土) 19:04:35
俺も読んじゃいないが
>>874
お前もゲームばっか作ってないで勉強しろよ。
イベントドリブンなんて大昔からある。
879デフォルトの名無しさん:2010/03/06(土) 19:26:54
本物のプログラマーはひとつの概念に複数の名前がつけられるの嫌う
タスクシステムもイベント駆動パターンも、オリジナルの呼び方をすべき
880デフォルトの名無しさん:2010/03/06(土) 20:08:50
コルーチンみたいな"継続"をC/C++で強引にやろうとしたものが、
タスクシステムって呼ばれてるんじゃないの?
881デフォルトの名無しさん:2010/03/06(土) 21:07:45
>>880
> コルーチンみたいな"継続"をC/C++で強引にやろうとしたものが、
> タスクシステムって呼ばれてるんじゃないの?
で、そのコルーチンみたいな"継続"をC/C++で強引にやろうとしたものをなんて
呼ぶんだ?
882デフォルトの名無しさん:2010/03/06(土) 21:26:43
>>881
コルーチンはコルーチンだろ
Cのcoroutineってキモく感じるんだよな
defineにcase文がありライン番号で分岐させるって俺的には可視性が悪く
キモクがんじるんだよな。defineの悪用だろあれ
お前らもキモク感じるよな
883デフォルトの名無しさん:2010/03/06(土) 21:33:20
それは単に一つの実装がそうなってるだけであって
ちゃんとコンテキストを差し替える実装もあるぞ
GNU PCLとかな
884デフォルトの名無しさん:2010/03/06(土) 21:34:04
すまんGNU関係なかった
libpclに訂正する
885デフォルトの名無しさん:2010/03/06(土) 21:49:09
886デフォルトの名無しさん:2010/03/06(土) 22:03:10
>>885
そんなのあるのか。知らんかった。
これOS非搭載のマイコンで使えるのか?
887デフォルトの名無しさん:2010/03/06(土) 22:20:01
面白いね。 シグナルとsetjmp,longjmpが使えればいいだけみたいだね。
888デフォルトの名無しさん:2010/03/06(土) 22:51:09
大昔から何種類もあるぞ。
889デフォルトの名無しさん:2010/03/06(土) 23:00:42
コルーチン、ネットプログラムでよく使っているの?
890デフォルトの名無しさん:2010/03/06(土) 23:01:38
同じものがいろいろな名前でよばれているのを気にしないやつは
同じ機能の関数がひとつのシステムに存在していても許せるやつなんだな
おおらかでいいやつだけどプログラマとしては二流だよ
891デフォルトの名無しさん:2010/03/06(土) 23:04:09
>>889
>>874の雑誌に代表例がのってる。
こういうの調べてるだけでもすごいと思う
892デフォルトの名無しさん:2010/03/07(日) 00:26:40
Firewallを作る時に参考にしたサイト教えれてよ
893デフォルトの名無しさん:2010/03/07(日) 00:43:00
>>886
OS非搭載のマイコンなら、それこそスタックレジスタ弄ればいいだけだろ・・・
894デフォルトの名無しさん:2010/03/07(日) 01:23:29
>>881
タスクシステムって呼ぶんだよ
895デフォルトの名無しさん:2010/03/07(日) 01:24:51
神は自らタスクるものをタスクる
896デフォルトの名無しさん:2010/03/07(日) 01:29:55
>>894
もう遅い
このすれでは タスクシステム も イベント駆動パター も コルーチン ってよぶことにきまったんだよ
897デフォルトの名無しさん:2010/03/07(日) 01:33:54
ハンゲの大富豪の相手の手札が分かるソフト作ってくれ
898デフォルトの名無しさん:2010/03/07(日) 01:46:25
>>896
アホなこと言うな。コルーチンは独立した概念だ
イベント駆動、タスクシステムとはまったく別のものだ
つーか喧嘩すんならここでやるな・・・
899デフォルトの名無しさん:2010/03/07(日) 02:01:19
>>897
つ Sniffer
900デフォルトの名無しさん:2010/03/07(日) 10:27:26
>>899
難しい
901デフォルトの名無しさん:2010/03/07(日) 12:59:25
タスクシステムの先祖だった「ジョブコン」こそコルーチンを非常にプリミティブな環境で
実装したものだけど、「タスクシステム」は単なるコールバック。
902デフォルトの名無しさん:2010/03/07(日) 13:51:36
決めの問題だから決めちゃおう
イベント駆動パターン
にします
以上
903デフォルトの名無しさん:2010/03/07(日) 14:37:00
>>897ほどのものを作れる人はここにはいないだろうな
904デフォルトの名無しさん:2010/03/07(日) 15:41:19
気付くの遅すぎ
905デフォルトの名無しさん:2010/03/07(日) 15:41:57
相手のコンピュータにワームでも仕込んでおけばいいだけじゃんJK
906デフォルトの名無しさん:2010/03/07(日) 16:30:31
>>905
やってみろ。

手元でやったとしても、バイナリしかないプログラムの
暗号化された通信内容を覗くのは面倒な話だぞ。
どこになにがあるかわからないメモリを覗くのはもっと面倒だ。
しかもapacheみたいに解析のとっかかりになるソースが
あるわけじゃないから途方もない試行錯誤になるぞ。
907デフォルトの名無しさん:2010/03/07(日) 17:10:06
対戦相手の家にWebカメラを仕込むんだよ!!!
908906:2010/03/07(日) 17:11:08
>>907
俺の負けだ・・・ 固定観念で解決は図れないんだな。反省するわ。
909デフォルトの名無しさん:2010/03/07(日) 17:55:59
古い地球人かよ
910デフォルトの名無しさん:2010/03/07(日) 18:34:19
>>906
別にそんなことせんでも相手のデスクトップのSSとれば?
911デフォルトの名無しさん:2010/03/07(日) 18:53:15
>>910
んな事できねぇよw
912デフォルトの名無しさん:2010/03/07(日) 19:16:22
画像キャプチャ型のスパイウェアなら存在するけどな
まあ、大富豪ごときで相手のPCに仕込むメリットは無いだろうが
913デフォルトの名無しさん:2010/03/07(日) 20:01:59
どうやって仕込むかが問題だろ
914デフォルトの名無しさん:2010/03/07(日) 20:27:19
相手の手札が分かるソフトをやるといって仕込む
915デフォルトの名無しさん:2010/03/07(日) 20:34:45
>>914
お前には一生勝てそうも無い('A`)
916デフォルトの名無しさん:2010/03/07(日) 21:04:39
   ┌─┐
   │●│
   └─┤
   _   ∩
  ( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘      おっぱい!おっぱい!
917デフォルトの名無しさん:2010/03/08(月) 12:55:48
CかC++で動画をストリーミングするプログラムを作成したいのですが
参考文献など教えていただけないでしょうか?
918デフォルトの名無しさん:2010/03/08(月) 14:50:23
VLCのソースでも読めば
919デフォルトの名無しさん:2010/03/08(月) 22:07:40
大富豪で相手3人の手札分かるソフトを作るのは無理でも
大富豪でより勝ちやすくなるような支援ソフト(ツール)は作れるんじゃないか?

http://daihugostation.web.fc2.com/daihugotool.html
例えば↑みたいなのがあるけどこれだといちいち時間かかって実際ゲーム中にはかなり使いづらいよな?
だからこういうのをさくさくゲーム進めながらできるソフト(ツール)を作れば良いんじゃないか?
誰かできる人いる?
920デフォルトの名無しさん:2010/03/08(月) 22:15:54
ここでチートやそれに准ずるものができたとして、俺が相手の会社に通報するから
対策とチートのいたちごっこが始まるだけだ
921デフォルトの名無しさん:2010/03/08(月) 22:52:02
>>919
冷静に考えたらカウンティングし放題だよな
922デフォルトの名無しさん:2010/03/09(火) 00:02:21
自分で大富豪の提供鯖立てれば見放題だろう。
博打の胴元が見放題なのと同じ。
923デフォルトの名無しさん:2010/03/09(火) 00:25:30
ハンゲの大富豪の話じゃなかったのかよ
そりゃ自分でやればなんでもアリだよな
それの何が楽しいの?馬鹿なの?
924デフォルトの名無しさん:2010/03/09(火) 01:56:32
>>919
オセロならコンピュータに代打ちさせると大体勝てる
925デフォルトの名無しさん:2010/03/09(火) 02:20:09
それの何が楽しいの?馬鹿なの?
926デフォルトの名無しさん:2010/03/09(火) 05:32:01
ハンゲ株を51%以上取得すればいいんじゃね?
927デフォルトの名無しさん:2010/03/09(火) 09:14:25
epollっpollとどうちがうの?
928デフォルトの名無しさん:2010/03/09(火) 13:25:13
いいpollとふつうのpoll。
つか、なんでmanページすら読まねぇんだ。
929デフォルトの名無しさん:2010/03/09(火) 14:03:45
これはいいpoll
930デフォルトの名無しさん:2010/03/09(火) 15:19:38
誰かハンゲ大富豪の支援ソフト作ってる?
931デフォルトの名無しさん:2010/03/09(火) 16:02:54
>>925
ロボコードみたいなもんやね。
オセロはつまらんけど、麻雀は燃える。
932デフォルトの名無しさん:2010/03/09(火) 18:43:58
>>928
違いについては書いてない。
使い道の参考になる違いが知りたい。
933デフォルトの名無しさん:2010/03/09(火) 20:41:02
>>932
epollのeはエッジのeです。
まぁエッジトリガなんざ使わんけどな!
無限待ちとかこえーし
934デフォルトの名無しさん:2010/03/10(水) 13:38:01
935デフォルトの名無しさん:2010/03/11(木) 08:10:57
WebDBの話、この子か書いたの。
http://d.hatena.ne.jp/viver/20100224/p1
日記読んでれば解るけど、ここ2年ぐらいでKVSとかに興味持ち出して
自分でライブラリ書いてた子だね・・・
学習スピードが恐ろしく早い子だな
936デフォルトの名無しさん:2010/03/11(木) 15:34:30
>>935
筑波大がすばらしいのか、こいつだけが特別なのか。
937デフォルトの名無しさん:2010/03/11(木) 16:33:44
世界で唯一、開発者の名前を冠されたウイルス(Trojan.Hirofu)の
開発者(古田泰大)も筑波。
938デフォルトの名無しさん:2010/03/11(木) 18:35:51
>>935
学生なんだな。かなり優秀だな
優秀な学生はアメリカの優秀な大学院に行って、そこの恵まれた環境でさらに
能力を伸ばして欲しいものだな
939デフォルトの名無しさん:2010/03/11(木) 18:40:04
そういえば、Rubyやソフトイーサーを作ったのも筑波だよな
940デフォルトの名無しさん:2010/03/11(木) 18:45:10
     ____
   /__.))ノヽ
   .|ミ.l _  ._ i.)
  (^'ミ/.´・ .〈・ リ
  .しi   r、_) |  筑波大は(ry
    |  `ニニ' /
   ノ `ー―i´
941デフォルトの名無しさん:2010/03/11(木) 22:43:04
東京教育大学卒いる?
942デフォルトの名無しさん:2010/03/11(木) 23:25:18
いらね
943デフォルトの名無しさん:2010/03/12(金) 16:33:17
筑波は隔離されてて俗世間の誘惑が少ないからなw
研究にはいい所かもしれん。若い時にしか出来ない大切な機会を失う気もするけど。
944デフォルトの名無しさん:2010/03/12(金) 23:20:34
筑波の3Sって言葉もあるが。
945デフォルトの名無しさん:2010/03/13(土) 04:21:34
まあ田舎はほとんど3Sだろう。大した娯楽も無いし。
946デフォルトの名無しさん:2010/03/13(土) 13:45:54
>>23
筑波の先生は
よく未到のマネージャーもやってたりするね
947デフォルトの名無しさん:2010/03/14(日) 18:17:53
>>944
4Sだろ。
948デフォルトの名無しさん:2010/03/15(月) 04:58:08
うめてみる
949デフォルトの名無しさん:2010/03/16(火) 02:30:38
うめてみる
950デフォルトの名無しさん:2010/03/16(火) 02:35:33
うめてみる
951デフォルトの名無しさん:2010/03/16(火) 04:54:09
このスレ的には memcpy
952デフォルトの名無しさん:2010/03/18(木) 23:45:06
sage
953デフォルトの名無しさん:2010/03/19(金) 02:55:12
初心者なんですが、ソケット通信の覚え方でいい本とかありますか?
JAVAでソケット通信をしてみたいと思っていて、
昔、JAVAネットワークプログラミングという本を買ったのだけどソースが長くて、
理解力がないのでよくわかんなかったんです。
ゲームプログラミングが趣味なので、アプレットでソケット通信を使ったゲームとチャットを作れればいいかなと思っています。
954デフォルトの名無しさん:2010/03/19(金) 02:59:50
Amazonでその本検索したら「基礎からわかるTCP/IP Javaネットワークプログラミング」ってのが
あったんだけど、その程度の調査も人にやらせるつもり?
955デフォルトの名無しさん:2010/03/19(金) 03:27:24
実は名前が似てるけど秀和システムが出版している本を持ってます。
954が教えてくれた本は名前が似てるけど別の本(OHM出版)。
とりあえずコメントありがと。
とりあえずソケット通信の関係の本は、クラスの説明がちょこっとしてあって、
後はいきなり完成したコードが載っているので、
少しずつコードをつけたしていって
プログラムをかける本だとわかりやすいかなと思う。
調査を人にさせてるみたいな感じだったらごめん。
956デフォルトの名無しさん:2010/03/19(金) 03:30:30
描き忘れたけど
とりあえず本屋で「基礎からわかるTCP/IP Javaネットワークプログラミング」
を立ち読みして、わかりやすそうだったら買ってみようかなとおもってる。
田舎なんでコンピュータ関係の本がそろってる本屋があまりないのがつらい。
957デフォルトの名無しさん:2010/03/19(金) 03:54:28
Amazonで買えばどんな田舎でもすぐに届くのに。
2,600程度の本も買うのに悩むくらいだったら、Webで入門ページ探して読んだら?
958デフォルトの名無しさん:2010/03/19(金) 04:12:00
素人ながらプログラミングが趣味だけど独学なんでプログラミング関係の本は80冊
くらい部屋にたまってる状態。
買った本のうちどのくらい読んだかというと実際熟読したのが20冊ぐらいで、
辞書代わりに使ったのが20冊ぐらいあとは買ったけどよくわかんないからそのまんまという状態。
AMAZONはすぐ届くんだけど、中身を確認してから買えないのがつらい。
結構プログラミングの本は、自分にある程度知識がないといい本でも読みこなせなかったりすると思う。

ところでWEBの入門ページって
ttp://www.hellohiro.com/socket.htm
みたいな感じかな。
959デフォルトの名無しさん:2010/03/19(金) 07:12:59
理解出来ないレベルならゲーム作るのは無理だと思うよ。

中身は本屋で見てから買えばいいだけ。
近くに本屋も無い田舎なら、都会の大きな本屋の近くに引っ越せ。
960デフォルトの名無しさん:2010/03/19(金) 09:04:52
>>959そんな夢のないことを・・・。
まあ確かに大したゲームは作れそうにないのは認めるけど。
通信関係の技術ってセキュリティとか穴があったらまずいから
その辺の関係で初心者には難しく感じるんだろうか。
961デフォルトの名無しさん:2010/03/19(金) 09:11:51
通信関係の技術ってセキュリティとか穴があったらまずいから
962デフォルトの名無しさん:2010/03/19(金) 09:24:43
とりあえずレンタルサーバー使ってたらある程度はセキュリティの心配しなくていいような気もするけど、
素人にはちょっと敷居が高い技術なのかな。
963デフォルトの名無しさん:2010/03/19(金) 10:25:57
DOS攻撃以外はちょっと勉強すれば防げると思う
と言いつつセキュアド受かったことないけど

セキュリティーよりハック対策が大変じゃないか?
964デフォルトの名無しさん:2010/03/19(金) 10:31:11
とりあえずレンタルサーバー使ってたらある程度はセキュリティの心配しなくていいような気もするけど、
965デフォルトの名無しさん:2010/03/19(金) 10:40:42
はははまたまたご冗談を
966デフォルトの名無しさん:2010/03/19(金) 13:22:06
>>964
これはひどい
967デフォルトの名無しさん:2010/03/19(金) 13:24:03
自分で見れない部分は業者におまかせなので負担は少ない。当たり前。
968デフォルトの名無しさん:2010/03/19(金) 14:34:32
ウイルスを仕込まれるのと同じなのに
レンタルサーバも大変だな
969デフォルトの名無しさん:2010/03/19(金) 14:50:11
970デフォルトの名無しさん:2010/03/19(金) 15:15:48
逆だな。レン鯖なので自分の不注意が鯖落ち招いて、大騒ぎに成る。
専鯖なら自分一人だが、共用鯖だと大迷惑。
971デフォルトの名無しさん:2010/03/20(土) 00:11:50
客の不注意が原因で落ちるような、弱っちいサーバを提供している業者が悪い。
972デフォルトの名無しさん:2010/03/20(土) 00:15:02
サーバを運用したことない奴はなんとでも言うわな
973デフォルトの名無しさん:2010/03/20(土) 00:54:31
と、弱っちいサーバを提供している業者のぼやき。
974デフォルトの名無しさん:2010/03/20(土) 00:58:08
ま、俺の話はぼやきといわれてもいいさ
一度、自分で運用してみな?
975デフォルトの名無しさん:2010/03/20(土) 04:07:33
なんか突っこむ気も起きない
帰ってくれるようだから何も言わないけれども
976デフォルトの名無しさん:2010/03/20(土) 09:13:43
鯖なんて負荷描ければ落ちるがな。
集合住宅に一人でも気違いが入れば、停電したりぼや騒ぎで騒がしく成るのと同じ。
977デフォルトの名無しさん:2010/03/20(土) 09:17:12
2chですら韓国のF5アタックで落ちるからな
978デフォルトの名無しさん:2010/03/21(日) 04:03:48
にちゃんねるは世間一般から見れば気違いの巣窟らしいし。
にちゃんやってる男の人ってちょっと(ry
979デフォルトの名無しさん:2010/03/21(日) 15:28:18
>>953 >>955
自分は、TCP/IPソケットプログラミング Java編 ttp://www.amazon.co.jp/dp/4274065200 (オーム社, \1,890) と同C編がお薦め。

で、一通り本の内容を把握できたら、動作を把握するためのコードを書いてみる。たとえばこんなの:
ttp://discypus.jp/wiki/?Java%2FSocket%2F%A5%B5%A5%F3%A5%D7%A5%EB%A5%B3%A1%BC%A5%C9

あとは、必要に応じて javax.nio を調べたり、
Java並行処理プログラミング ttp://www.amazon.co.jp/dp/4797337206 とか
Javaネットワークプログラミングの真髄 ttp://www.amazon.co.jp/dp/4797341866 を読むと良いよ。
980デフォルトの名無しさん:2010/03/21(日) 18:13:53
パチンコは世間一般から見れば気違いの巣窟らしいし。
パチンコやってる男の人ってちょっと(ry
981デフォルトの名無しさん:2010/03/21(日) 18:17:13
結婚してる人ってかわいそうな人の巣屈らしい
そして、結婚してない貴族を夫婦で罵り合う最低の集まりって世間一般では定義されてる
982デフォルトの名無しさん:2010/03/21(日) 18:18:40
>>978
代案を出せ
983デフォルトの名無しさん:2010/03/21(日) 18:29:36
戦争するしかないね
984デフォルトの名無しさん:2010/03/21(日) 19:03:07
        まもなくここは 乂1000取り合戦場乂 となります。

      \∧_ヘ     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!!       ,,、,、,,,
    /三√ ゚Д゚) /   \____________  ,,、,、,,,
     /三/| ゚U゚|\      ,,、,、,,,                       ,,、,、,,,
 ,,、,、,,, U (:::::::::::)  ,,、,、,,,         \オーーーーーーーッ!!/
      //三/|三|\     ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ∪  ∪       (    )    (     )   (    )    )
 ,,、,、,,,       ,,、,、,,,  ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ,,、,、,,,       (    )    (    )    (    )    (    )
985デフォルトの名無しさん:2010/03/21(日) 19:34:28
>>982
二次元の世界に引っ越す
986デフォルトの名無しさん:2010/03/21(日) 20:35:35
二次元では結婚も出来ないし子づくりも出来ないけどな。

http://pc12.2ch.net/test/read.cgi/tech/1268702584/
★★Java質問・相談スレッド137★★
http://pc12.2ch.net/test/read.cgi/tech/1228452306/
Javaやらないか(超初心者向け)
http://pc12.2ch.net/test/read.cgi/tech/1267796762/
★★ Java の宿題ここで答えます Part 69 ★★
http://pc12.2ch.net/test/read.cgi/tech/1197720520/
Java勉強するから支援おね
http://pc12.2ch.net/test/read.cgi/tech/1190032149/
***Javaのオススメ入門書*** 『創るJava』 3.0
http://pc12.2ch.net/test/read.cgi/tech/1086238859/
Java ネットワークプログラミング 【教えて!】
http://pc12.2ch.net/test/read.cgi/tech/1068370977/
JavaでVCバリのゲーム開発可能?
987デフォルトの名無しさん:2010/03/22(月) 10:31:57
三次元でもできませんが何か
988デフォルトの名無しさん:2010/03/22(月) 12:16:02
winsockサーバーで接続者のIPやポートをchar配列に代入するには?
acceptで渡した構造体に情報が入ってるらしいけど
どうやって文字列にするのかわからん
989デフォルトの名無しさん:2010/03/22(月) 12:31:01
んなアホな
990デフォルトの名無しさん:2010/03/22(月) 12:55:33
        ∧∧
       ヽ(・ω・)/   ズコー
      \(.\ ノ
    、ハ,,、  ̄
991デフォルトの名無しさん:2010/03/22(月) 22:01:33
inet_ntoa
992デフォルトの名無しさん:2010/03/22(月) 22:21:08
>>979
ありがとう。
頑張ってみる。
993デフォルトの名無しさん:2010/03/23(火) 00:36:19
sockっと梅。
994デフォルトの名無しさん:2010/03/23(火) 19:33:12
>>1001にお願い
新スレを立ててね
995デフォルトの名無しさん:2010/03/23(火) 19:36:39
995
996デフォルトの名無しさん:2010/03/23(火) 19:51:59
996
997デフォルトの名無しさん:2010/03/23(火) 20:46:00
ネットワークプログラミング相談室 Port25.6
http://pc12.2ch.net/test/read.cgi/tech/1269343909/
998デフォルトの名無しさん:2010/03/23(火) 21:55:15
        まもなくここは 乂1000取り合戦場乂 となります。

      \∧_ヘ     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!!       ,,、,、,,,
    /三√ ゚Д゚) /   \____________  ,,、,、,,,
     /三/| ゚U゚|\      ,,、,、,,,                       ,,、,、,,,
 ,,、,、,,, U (:::::::::::)  ,,、,、,,,         \オーーーーーーーッ!!/
      //三/|三|\     ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ∪  ∪       (    )    (     )   (    )    )
 ,,、,、,,,       ,,、,、,,,  ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ,,、,、,,,       (    )    (    )    (    )    (    )

999デフォルトの名無しさん:2010/03/23(火) 21:55:57
        まもなくここは 乂1000取り合戦場乂 となります。

      \∧_ヘ     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!!       ,,、,、,,,
    /三√ ゚Д゚) /   \____________  ,,、,、,,,
     /三/| ゚U゚|\      ,,、,、,,,                       ,,、,、,,,
 ,,、,、,,, U (:::::::::::)  ,,、,、,,,         \オーーーーーーーッ!!/
      //三/|三|\     ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ∪  ∪       (    )    (     )   (    )    )
 ,,、,、,,,       ,,、,、,,,  ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ,,、,、,,,       (    )    (    )    (    )    (    )

1000デフォルトの名無しさん:2010/03/23(火) 21:56:38
        まもなくここは 乂1000取り合戦場乂 となります。

      \∧_ヘ     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!!       ,,、,、,,,
    /三√ ゚Д゚) /   \____________  ,,、,、,,,
     /三/| ゚U゚|\      ,,、,、,,,                       ,,、,、,,,
 ,,、,、,,, U (:::::::::::)  ,,、,、,,,         \オーーーーーーーッ!!/
      //三/|三|\     ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ∪  ∪       (    )    (     )   (    )    )
 ,,、,、,,,       ,,、,、,,,  ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ,,、,、,,,       (    )    (    )    (    )    (    )

10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。