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


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

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



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

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

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

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

2 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 03:45:45 ]
過去スレ:
Port24 ttp://pc12.2ch.net/test/read.cgi/tech/1246895188/
Port23 ttp://pc12.2ch.net/test/read.cgi/tech/1230466044/
Port22 ttp://pc11.2ch.net/test/read.cgi/tech/1222603744/
Port21 ttp://pc11.2ch.net/test/read.cgi/tech/1204287577/
Port20 ttp://pc11.2ch.net/test/read.cgi/tech/1186418855/
Port19 ttp://pc10.2ch.net/test/read.cgi/tech/1159692799/
Port18 ttp://pc11.2ch.net/test/read.cgi/tech/1171029896/
Port17 ttp://pc8.2ch.net/test/read.cgi/tech/1148944560/
Port16 ttp://pc8.2ch.net/test/read.cgi/tech/1136005644/
Port15 ttp://pc8.2ch.net/test/read.cgi/tech/1128088448/
Port14 ttp://pc8.2ch.net/test/read.cgi/tech/1118469143/
Port13 ttp://pc8.2ch.net/test/read.cgi/tech/1109793931/
Port12 ttp://pc5.2ch.net/test/read.cgi/tech/1102427855/
Port11 ttp://pc5.2ch.net/test/read.cgi/tech/1096187183/
Port10 ttp://pc5.2ch.net/test/read.cgi/tech/1090385857/
Port9 ttp://pc5.2ch.net/test/read.cgi/tech/1080658835/
Port8 ttp://pc5.2ch.net/test/read.cgi/tech/1073560271/
Port7 ttp://pc5.2ch.net/test/read.cgi/tech/1063035045/ ★行方不明
Port6 ttp://pc5.2ch.net/tech/kako/1052/10521/1052106444.html
Port5 ttp://pc2.2ch.net/tech/kako/1040/10402/1040220302.html
Port4 ttp://pc3.2ch.net/tech/kako/1034/10342/1034236536.html
Port3 ttp://pc3.2ch.net/tech/kako/1023/10233/1023359282.html
Port2 ttp://pc.2ch.net/tech/kako/1006/10062/1006258198.html
Port1 ttp://pc.2ch.net/tech/kako/970/970344582.html

3 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 03:49:19 ]
図書コーナー:
UNIXネットワークプログラミング〈Vol.1〉ネットワークAPI:ソケットとXTI
 www.amazon.co.jp/exec/obidos/ASIN/4894712059/
 そのソースコード
 www.unpbook.com/src.html
詳解TCP/IP〈Vol.1〉プロトコル
 www.amazon.co.jp/exec/obidos/ASIN/4894713209/
詳解TCP/IP〈Vol.2〉実装
 www.amazon.co.jp/exec/obidos/ASIN/4894714957/
詳解TCP/IP〈Vol.3〉トランザクションTCP, HTTP, NNTP, UNIXドメインプロトコル
 www.amazon.co.jp/exec/obidos/ASIN/4894716674/
TCP/IPによるネットワーク構築
 〈Vol.1〉原理・プロトコル・アーキテクチャ
  www.amazon.co.jp/exec/obidos/ASIN/432012054X/
 〈Vol.3〉クライアント‐サーバプログラミングとアプリケーション
  www.amazon.co.jp/exec/obidos/ASIN/4320028007/
  Linux/POSIXソケットバージョン
  www.amazon.co.jp/exec/obidos/ASIN/4320120841/
  Windowsソケットバージョン
  www.amazon.co.jp/exec/obidos/ASIN/4320029992/


4 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 03:50:36 ]
マスタリングTCP/IP RTP編
 www.amazon.co.jp/exec/obidos/ASIN/4274065618/
Linuxソケットプログラミング?ネットワークプログラミングにおける実践技法
 www.amazon.co.jp/exec/obidos/ASIN/4894714671/
Webプロトコル詳解?HTTP/1.1、Webキャッシング、トラフィック特性分析
 www.amazon.co.jp/exec/obidos/ASIN/4894715414/
WinSock2.0プログラミング
 www.amazon.co.jp/exec/obidos/ASIN/4797306882/
猫でもわかるネットワークプログラミング
 www.amazon.co.jp/exec/obidos/ASIN/4797323604/
IPv6ネットワークプログラミング
 www.amazon.co.jp/exec/obidos/ASIN/4756142362/
Visual Basicではじめるネットワークプログラミング超入門
 www.amazon.co.jp/exec/obidos/ASIN/4839917523/


5 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 03:51:18 ]
URL抜粋:
★規格
RFC 日本語版リスト
 www5d.biglobe.ne.jp/~stssk/rfcjlist.html
JPNIC RFC関連リンク集
 rfc-jp.nic.ad.jp/link/
RFC Editor
 www.rfc-editor.org/
HTMLなRFC (セクションを直に示すのに便利)
 www.freesoft.org/CIE/RFC/
RFC 2616 "Hypertext Transfer Protocol -- HTTP/1.1" 日本語訳
 www.studyinghttp.net/cgi-bin/rfc.cgi?2616
IANA Well known port numbers
 www.iana.org/assignments/port-numbers


6 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 03:52:13 ]
★プログラミング
C10K ヘヴィーロードサーバ
 www.kegel.com/c10k.html
C10K ヘヴィーロードサーバ(日本語訳)
www.hyuki.com/yukiwiki/wiki.cgi?TheC10kProblem
MSDN
 msdn.microsoft.com/library/en-us/dnsitehelp/html/tochelp.asp
Raw IP Networking FAQ
 www.whitefang.com/rin/
Java で packet capture
 netresearch.ics.uci.edu/kfujii/jpcap/doc/
Randomness Recommendations for Security
 www.faqs.org/rfcs/rfc1750.html
BoostSocket
 www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?BoostSocket
The Code Project - Internet & Network programming
 www.codeproject.com/internet/
ネットワークプログラミングの基礎知識 (問題ありのサイト?)
 X68000.q-e-d.net/~68user/net/


7 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 03:53:14 ]
★ツール類
ethereal - www.ethereal.com/
Wireshark - www.wireshark.org/
tcpdump - www.tcpdump.org/
Windump - netgroup-serv.polito.it/netgroup/tools.html
WinPcap - www.winpcap.org/
pathchar - ftp://ftp.ee.lbl.gov/pathchar/
pchar - www.employees.org/~bmah/Software/pchar/
Packetyzer - www.networkchemistry.com/products/packetyzer/
libevent - www.monkey.org/~provos/libevent/

★プロトコル
TTCP
 www.sean.de/Solaris/ttcp.html
 www.kohala.com/start/ttcp.html
UDP Hole Punching
 homepage3.nifty.com/toremoro/p2p/firewall.html

★IP, TCP実装
www.iti.fi/documentation/miniip.html
www.sics.se/~adam/uip/
www.codeguru.com/Cpp/I-N/network/tcpip/article.php/c5447/
www.geocities.jp/bruce_teller/security/garakuta.htm


8 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 06:56:20 ]
>>1


9 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 11:37:47 ]
SCTPどーよ

10 名前:デフォルトの名無しさん [2009/10/14(水) 21:10:47 ]
Apacheの発見されていない脆弱性を教えてください><



11 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 21:54:36 ]
>>9
イーヨ

12 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 23:22:33 ]
発見してしまった。

13 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 08:35:32 ]
発見されていないのだから教える事はできない。

14 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 03:54:59 ]
馬鹿に使われる、という潜在的な脆弱性は
ローカルでしか発見し得ないかも

15 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 13:16:40 ]
実際大人になってからはじめてわかったことはいっぱいある
その殆どはわかったときには既に手遅れだったものばかりだ

16 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 18:22:06 ]
高校生のうちにセックスしまくっとけとかなw

17 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 22:12:15 ]
UDPで300BYTE程度のデータを送信しようとした所、送信できませんでした
1000byteなら送信できたのですが3000byteを送信しようとすると何か設定が必要なのでしょうか?

18 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 22:29:37 ]
Windows の UDP パケット サイズの最大値は 1280 バイトが既定値

これ関係ある?

19 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 22:31:01 ]
1280バイトと1281バイトで実験してみればいいだろ

20 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 23:32:16 ]
18は17とは別人だお
UDPとか使わないから俺は実験しないお



21 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 00:34:44 ]
エラーが起きた時はerrnoを調べるように頭の構造を設定する必要がある。

22 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 05:25:56 ]
udpは親切に再送してくれないからな。受け取れない終わり出し。

23 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 05:50:45 ]
つまり送信は性交していて受信が失敗してるわけですねわかります

24 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 05:55:10 ]
否認したわけですね

25 名前:17 mailto:sage [2009/10/21(水) 07:50:19 ]
3000byteのときは送信が成功しません。2000byteででもです。
1パケット以下なら送信が成功するのですが、そういう設定する
オプションってあるのでしょうか?

26 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 09:03:08 ]
フラグメント有効なら通りそうな気もするが・・・

27 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 09:17:45 ]
釣り針があまりにでかすぎる

28 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 13:51:17 ]
ソケットプログラムを書いていたらある時ものすごいエラーが出るようになり、
原因を探っていたらどうもヘッダファイルのインクルード順序によって出るという結論に達しました

おおよそでも結構ですので、こういう順序でインクルードするとエラーが出にくいという方針などはあるのでしょうか?

29 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 15:37:02 ]
要るものからインクルードするとエラーが出にくい

30 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 23:11:30 ]
sys/types.hを最初に、それ以外はどうでもいい。



31 名前:デフォルトの名無しさん [2009/10/22(木) 00:20:32 ]
>>26
フラグメント有効ってどうすればよいのでしょうか?
カードの問題?

32 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 02:04:56 ]
フラグメントはDoSに利用されやすいこともあって、
オフにしているところも結構ある。
頼らずに分割して送れ。

33 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 02:13:16 ]
単にMTU越えてるから送れないってことじゃないの?

34 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 02:34:35 ]
>>32
IP だとそうだけど, UDP のリアセンブルは IP とは別問題じゃないか?
とはいえ, IP フラグメント捨てられたら UDP がこけるのも事実だが……

そもそも, 元ネタが環境を書いてないのがよくない


35 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 02:38:48 ]
殆どのバグは本人が問題無いと思っている場所にこそ存在する

36 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 07:23:31 ]
>>34
> UDP のリアセンブル

何のことを言っているの?

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

フラグメント化のオンオフってどうやるんだったかな

38 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 08:36:44 ]
分からない奴は加わってくるな

39 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 09:54:31 ]
>>36
IPv6 は MTU ディスカバリー使って, 途中経路でフラグメント化されない形で
送信できるけど, v4 にはそうゆう機能がないのでフラグメント化される可能性
がある.

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

IP のフラグメントをリアセンブルするのと, UDP のデータグラムを複数の
IP パケットからリアセンブルするのは別の話だって言ってるんじゃないか


40 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 13:41:40 ]
>>29 >>30
ありがとうございました




41 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 18:07:40 ]
>>39
ん?
Path MTU DiscoveryはIPv4にだってあるだろ?

42 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 19:55:05 ]
v6は必須だよね。

>>39
フラグメンテイションもリアセンブルも、
IP層で行われるのであって、上の層が何かは関係ない。
tcpdumpやfirewallみたいに層縦断する奴等は気にする必要があるが。

43 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 20:19:18 ]
どっかのバカNEが「ICMP全部止めるのがセキュリティ」と妄信してるからなあ。

44 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 20:21:04 ]
それじゃpingが通らんがなw

45 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 20:21:44 ]
ping用のポートを用意

46 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 20:51:23 ]
www.ntt.co.jpとか

47 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 22:30:32 ]
>>44
The Internetにつながってるサーバはecho返さないようになってるの多くね?

48 名前:デフォルトの名無しさん [2009/10/22(木) 23:07:44 ]
結局、UDPで送信してもフラグメント化されないため送信されてないって話だろ

49 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 14:45:28 ]
>>50
サーバ側がaccept(2)で接続確立するまで、
サーバ側に既に到着し待たされている接続要求をいくつ持てるか?
>>51
少なすぎて話にならない。


53 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 19:57:25 ]
なるほどありがとう

54 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 20:12:46 ]
ていうか、>>1のリンクくらい目を通せよ

55 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 20:14:07 ]
1はバックログ数1というわけではないんだな。これが。

56 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 22:12:56 ]
それはOSによる。
例えばLinuxは最小が8、最大はsysctl.max_syn_backlog
2の階乗にラウンドされる。

57 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 22:46:01 ]
反論するなら、1がバックログ数1であるものを例示して反論してくれたまえ。

58 名前:デフォルトの名無しさん [2009/10/25(日) 00:07:08 ]
パケットのフラグメント化を許可する方法を教えてください

59 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 00:14:17 ]
経路上の中継器の管理者にフラグメントされたパケットを落とさないように依頼する。

60 名前:デフォルトの名無しさん [2009/10/25(日) 13:04:09 ]
listenソケットて閉じちゃいけないの?問題発生したんだが



61 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 13:12:44 ]
どんな問題か書け

62 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 14:05:12 ]
セレクト使った場合
相手がクローズしたかどうかを知るにはどうすればいいの?

63 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 15:03:27 ]
>>1のFAQ嫁

64 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 15:05:51 ]
s.eof()

65 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 22:27:46 ]
>>59
中継器は使用せず直接LANケーブルで送信受信側をつないでます
どうやらパケット自体送出できないみたいなのです
フラグメント化が必要なデータだと

66 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 22:52:42 ]
PS3かなにかのメッセージか?
動いてるなら気にスンナ

67 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 23:47:01 ]
いえ、送出できてないので動かずです

68 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 16:17:26 ]
recv用とaccept用のディスクリプタを両方セットしとけば、いずれか一方が読み込み可能になれば返ってくる
スレッドは1つでok



71 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 16:39:01 ]
UDPソケット作る時に宛先アドレスを指定して作った場合も
sendto,sendmsgを使うなら宛先は指定しなければならないんでしょうか?

72 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 17:41:42 ]
> UDPソケット作る時に宛先アドレスを指定して作った
作り方教えて


73 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 17:44:43 ]
あー
勘違いしてました

74 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 18:24:38 ]
UDPでもconnectしとけばsend/recv使えるよ

75 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 20:21:31 ]
これからネットワークプログラムを開発する場合
今のトレンドのプログラム言語はなんでしょうか

76 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 20:22:20 ]
Rubyだ

77 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 20:26:40 ]
Javaだ

78 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 20:29:14 ]
トレンドなんか気にしているようではいけない

79 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 00:12:51 ]
>>68
すみません、UDPでMTU以上のデータを送りたいということです。
分かりにくくて申し訳ないです

80 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 00:54:01 ]
>>79
OSとか環境とか情報はないのか?
sendto で宛先指定すりゃ普通に出ていかないか?
送れてない時ってエラー帰ってないか?

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

もっとも, 組み込み用のスタックとかだと UDP の
connect は, 実装してないスタックもあるらしいが…




81 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 06:19:11 ]
>>79
送れません。

82 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 10:31:31 ]
なんでRFCも読まずにネットワークプログラムしてる奴がゴロゴロいるんだ?


83 名前:デフォルトの名無しさん [2009/10/27(火) 23:38:53 ]
ICMP って 「アイコンプ」って読んだら変かなあ

84 名前:デフォルトの名無しさん [2009/10/27(火) 23:54:47 ]
hen

85 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 23:56:00 ]
SNMPをスヌンプって読む人はいるよ
漏れは読まないけど

86 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 23:57:11 ]
>>82


87 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 11:08:25 ]
WSDLはうぃずどぅるだけどな

88 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 21:47:16 ]
connectしなかったらsendは使えない
だって宛先不明
sendtoやsendmsgは使える
connectしたらsendも使える



91 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 23:04:55 ]
>>88
そんな古いDoS攻撃…

92 名前:デフォルトの名無しさん [2009/11/01(日) 23:21:35 ]
複数の接続を受けるサーバーを作りたいんだけど
人数が増えるたびrecvの回数増やすにはどうすればいいんだ?

93 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 00:37:19 ]
recvの回数増やすというのはよくわからないが
受け付けた接続ごとに別々のスレッドを立ち上げるか
selectやpoll等を使ってひとつのスレッドですべての接続を捌くか
好きなほうを選べ

94 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 02:12:48 ]
スレッドで処理してる間に、パケット届くと取りこぼしそうだw

95 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 02:37:43 ]
はあ?

96 名前:デフォルトの名無しさん [2009/11/02(月) 03:33:19 ]
UDPパケットを取りこぼしなく取り込みたいのですが
なにかいい方法ありませんか?

97 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 09:59:52 ]
あきらめれ

98 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 10:28:49 ]
>>96
取りこぼさないのは無理なので、取りこぼしたことを検出して回復を図る

99 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 11:25:32 ]
取りこぼしたくなければ素直にTCP使っとけ
UDPにするなら取りこぼしてもいいようにプログラム側を設計しろ
っていうのが定型文的な解答

100 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 15:29:39 ]
決してしてはならないのは
「Ethernat直結でしか使わないからUDPでも取りこぼしなんて起きないだろう」
などと考えること。これをやってハマる初心者が意外に多くて困る。



101 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 16:09:27 ]
同時にパケット発射すれば簡単に消えるしな。

102 名前:デフォルトの名無しさん [2009/11/04(水) 18:16:51 ]
マルチスレッド鯖製作中なんだけど
誰かからデータ受信したら送信してきた相手以外の
クライアントにそのデータを送るにはどうしたらいいの?

103 名前:デフォルトの名無しさん mailto:sage [2009/11/04(水) 18:29:17 ]
言葉どおりにやればいい

104 名前:デフォルトの名無しさん mailto:sage [2009/11/04(水) 18:31:15 ]
受信したことを別スレッドに通知するにはどうすればいいの?

105 名前:デフォルトの名無しさん mailto:sage [2009/11/04(水) 19:14:21 ]
通知を受け取りたい各スレッドごとにキューのようなデータ構造を何か用意する
通知を送りたいスレッドは宛先スレッドのキューに送りたいデータを置く
通知を受け取りたいスレッドはヒマなときに自分のキューを見てデータが来ていたら取り出す
OSによってはそういったメッセージキューの機能をすでに持っていることもある
自分で作る場合はスレッドセーフにすることを忘れずに

106 名前:デフォルトの名無しさん mailto:sage [2009/11/04(水) 19:29:06 ]
難しいこと考えないで、
受信したスレッドが全部のソケットに書けばいい
排他が気になるなら、ひとつmutexをロックしておけばいい

107 名前:デフォルトの名無しさん mailto:sage [2009/11/04(水) 19:30:21 ]
>>102
その質問そのものをコードにしてみればいいじゃないか(受け取ったデータを他に転送)
リソース競合には気をつける必要があるけど処理自体はおまいの質問そのものだぞ


108 名前:デフォルトの名無しさん mailto:sage [2009/11/04(水) 19:32:41 ]
>>102
何か効率の良い方法とか、そういうライブラリの存在を訊きたいのかもしれないが
そのレベルだとどちらの意味でもがんばって送信しやがれってレベルでしかないぞ。


109 名前:デフォルトの名無しさん mailto:sage [2009/11/04(水) 22:04:39 ]
>>106
スレッドに値渡ししたら次のアクセプトで変数上書きしてて
受信したスレッドは、送信する相手のソケットを知ることができないんだ
だから他のスレッドに通知してそのスレッドから送信させようかなと

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




110 名前:デフォルトの名無しさん mailto:sage [2009/11/04(水) 22:13:09 ]
配列というか上に書いてある通りキューだろ
(キューの実装は配列でもいいけれど)



111 名前:デフォルトの名無しさん mailto:sage [2009/11/04(水) 22:36:17 ]
でもそれってrecvをノンブロックのしないといけないんでしょ?


112 名前:デフォルトの名無しさん mailto:sage [2009/11/04(水) 22:56:51 ]
そんなこと関係ない。

113 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 00:15:28 ]
どういうこと
ノンブロックで受信とそのキューとやらのチェックをポーリングさせるってことじゃないのか

114 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 01:33:27 ]
1接続しか許さないサーバプログラムを作る方法を教えてくだちい
listen()でバックログを1にしてaccept()した瞬間にlistenソケット閉じて
ってやればいいかと思ったけど
acceptする前にどんどん接続を受け付けやがる

115 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 02:47:46 ]
接続待ち受けのソケットでそのまま通信すればいいんじゃね?

116 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 04:37:56 ]
システムコールに惑わされずにまずRFC読め

117 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 08:47:12 ]
同期用キューでも作って渡せばいい

詳しくはこっちだな
マルチスレッドプログラミング
pc12.2ch.net/test/read.cgi/tech/1253521167/

118 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 09:01:16 ]
>>114
無理なOSは無理なんで諦めてください。

あらかじめ双方のポート番号が分かっているなら
双方からconnectって手があるけど。

119 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 09:02:35 ]
>>113
お前がそう言う実装に拘る理由こそ、どういうこと?

120 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 09:29:30 ]
>>114
キミのやりたい事は完璧にはできない。
バックログを0にして、acceptしたらlistening socketをcloseする。
これでもacceptしてからcloseするまでの間は接続を受け付けてしまう。

>>118
可能なOSを例示してくれ。今まで聞いたことが無いから知りたい。



121 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 09:41:41 ]
昔のvxWorks

122 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 10:01:50 ]
>>118
双方からconnectってなんだよ。

123 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 10:46:35 ]
ポート食いつぶし攻撃か?

124 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 11:55:49 ]
マイコンのプロトコルスタックを作ってる最中なのだがちょっと質問。

データ送信したとき全くの正常ならば
相手から返ってくるAcknoledgeNumber=自分が送信したSequenceNumber+TCPデータ長
となる筈なんだろうけど、この相手のACKパケットに入ってるAcknoledgeNumberが和より少ないときってこっちは何をすれば良いんだ?
もらったAcknoledgeNumberの分までは正常と見なして続きから送り直せばいいのかね?

125 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 15:25:59 ]
>>124
そんなもんは気にせずに window size が 0 になるまで無理やり送りつけるんだ


126 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 17:43:56 ]
マイコンに限らず再送バッファの大きさに支配されると思う
再送バッファサイズ<=窓までは送れる

127 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 22:18:00 ]
>>126
最後は再送バッファサイズの問題とかスロースタートの問題には
行き当たるんだろうけど、プロトコル的には送ったもん勝だわな



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

TCPの接続開始ハンドシェイクはこういうやり方でも可能。

129 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 22:03:48 ]
意味が分からん。
ソースで示して>128

130 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 13:54:24 ]
横着しないで RFC 位読め



131 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 14:48:44 ]
UDPって「取りこぼし」だけじゃなくて「送りそこね」もあるんだよな


132 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 16:41:10 ]
途中で捨てられたも多い。取りこぼしだと届いてるのに拾えなかった感が有るが、そもそも届いてない。

133 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 21:50:24 ]
Windowsでネットワークアドレスの違うIPアドレスへ強制的に
UDPのパケットを送る方法って無いでしょうか?
SetIpNetEntry()で静的arpに登録して送っても駄目みたいでした。
(たぶん送信時に跳ねられている)

134 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 23:07:35 ]
arpコマンドで登録すればいいんじゃ?

135 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 00:10:05 ]
>>134
SetIpNetEntry()を呼ぶのと、arpコマンド実行は同じ事だと思うけど、
試しにpingとwireshark使ってやってみました。

Destination host unreachable.
と出て、相手には何も届いてないですね。
しかも、Windows7でやると特権がいるとかでエラーになるし、
諦めてブロードキャストで送ることにします。


136 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 08:54:56 ]
ftpでファイルを送受信することになりました
こっちも相手側もクライアントとサーバになります
VC(MFC)でプログラムを作ろうと思いますが
どうやって作っていいかわかりません
クライアント側はサーバーに接続して
ファイルを転送する?イメージがあります。
検索するとCFtpConnectionをつかって作るのがわかりました
でもサーバー側ってどうやって作るんでしょうか?
どこかにサンプルとかヒントはありませんか?


137 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 09:38:23 ]
ファイルが転送できればいいのかFTPプロトコルを実装したいのか

138 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 10:18:54 ]
多分ファイル転送ができればいいです
プログラムでファイルをリモートのPCに送りたいのと
相手側がいつでもファイルをこちら側に送れるように
ftpサーバー機能があればいいです


139 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 10:21:10 ]
>>133
違うネットアドレスへ送ろうとする場合、arpはgateway
に対してだよ?routeはどうなってるの?

140 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 10:39:50 ]
>>138
では
www.geekpage.jp/programming/winsock/
をちょこっと見ればできますね



141 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 11:07:33 ]
>>140
ありがとうございます
見てみましたがftpについては見当たりませんでした
ftpサーバとしてftpクライアントの要望にこたえる例とかしりませんか?

142 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 11:10:23 ]
サーバなんて既存のやつ使えばいいじゃない
サーバもクライアントも作るなら特定のプロトコルにこだわる必要もないだろう

143 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 11:11:38 ]
だめだこりゃ

144 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 11:13:14 ]
あとMFCならこういうのでどうか
ttp://www.codeproject.com/KB/IP/CFtpServer.aspx

145 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 11:18:28 ]
>>142
一応売り物にするのでフリーのは問題ある?のではないかと思ってます
システムに組み込んで売っても問題ないフリーソフトとかありませんか?

>>144
ありがとうございます
参考にサンプル落とし見ようとしたら登録が必要なようですorz
英語はわからなくて…すみません

146 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 11:25:49 ]
多少の英語も出来ずにプログラマやってるのかよ

147 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 11:28:01 ]
もうRFC959読んで自前で実装しちゃいなよ
日本語訳もあったはずだ

148 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 11:48:47 ]
>>145
BSDライセンスのFTPサーバ。FreeBSDのとか。
まあ機能限定で実装すれば自前でも簡単だけど。

149 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 11:54:27 ]
>>148
ありがとうございます
ちょっと調べてみます

自分でいろいろ調べてたらXPにもftpサーバがあるみたいなのですが
XPのを使うのとフリーのftpサーバ使うのは全然違う意味ですか?
XP標準にあるならそっちのが楽なのかなぁ?と思ったりしてます


150 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 12:03:14 ]
>>149
IISのこと?



151 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 12:04:52 ]
IISはXPのProにはあるけどHomeには無いから気をつけて

152 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 12:09:04 ]
>>150
そうです
XP Proを使う予定でs

153 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 17:17:07 ]
初心者極まりない質問で申し訳ないですが、お願いします。

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

状況説明がうまくないようでしたら申し訳ありません。
何か、ありがちなミスなどありましたらご指摘よろしくお願いします。

154 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 17:41:20 ]
winsock1.closeはしてるの?

155 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 18:47:40 ]
同じ質問を過去に見たんだが、解決方法忘れてしまった
VBスレの人なら知ってる人いるんじゃない?

157 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 19:29:30 ]
>>153です。皆様レスをつけていただいて有難うございます。

>>154
うーん。Winsock1.closeはやっているのですが、反応がないようです。
>>155
すいませんサンプルソースまで書いてもらって、助かります。
私のソースもだいたいそのような感じなのですが、見直してみることにします。
>>156
有力情報有難うございます。
そちらの方にも尋ねてみることにします。

158 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 20:08:45 ]
>>157
どちらが先にクローズする仕様なの?

159 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 23:25:49 ]
レス有難うございます。

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

の(2)によると、送信した側がsocket closeと書いてあるようですので
こちら側(送信側)がCloseしなければいけないのかなと考えています。

160 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 23:38:25 ]
closeする前にサーバのACK/NAK応答は受信したのかと



161 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 23:41:31 ]
言っとくがTCPじゃなくてアプリレイヤーの話だぞ?
>>159のシーケンスをちゃんと嫁

162 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 23:45:18 ]
見落としてるだけだろ
アホとしか

163 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 00:01:16 ]
>>159
これだとCloseイベントでcloseしたほうがいいかもしれない。
>>155のように

164 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 00:32:37 ]
closeしなくてもほっときゃ切れるだろ

165 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 01:37:03 ]
socketは全二重
送る側だけまずshutdown
読む側でEOFまで全て読み終わるのを確認してからclose
これはちゃんとやって

166 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 09:17:58 ]
皆様何度も返信してくださって
厳しいながらもありがたい限りです

>>160
そちらの受信は確認しております。
>>161
アプリレイヤーとTCPの違いがまだよく分かっていないのですが、
そこの部分は調べてみます
>>163
ちょっとその手法でやってみます
>>165
shutdownはwinsockメソッドにはなく、
www.int21.co.jp/pcdn/vb/noriolib/vbmag/9802/winsock/
で見ました。全文読んでいないのでなんともいえませんが、
まだ使い方が不明なので調査してみます。

167 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 23:40:54 ]
>>166
> shutdownはwinsockメソッドにはなく、

何言ってるかわからない。
書く側だけまずshutdownしろってのは、
winsockのFAQの初心者向け項目に書いてあること。

168 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 23:47:48 ]
良くこれで仕事が出来るな・・・

169 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 00:04:43 ]
とりあえずWiresharkで
双方の FIN → FIN,ACK → ACK のどこまで出てるか見てみたら?

170 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 05:43:11 ]
サーバの開発元に質問するほうもアレだが、ありえないと回答するのもひどいな。
お互い良くそれでプログラマって言えるよな。



171 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 18:13:12 ]
IdBaseComponent,
IdComponent,
IdTCPConnection,
IdTCPClient,
IdHTTP
IdException

このへんのコンポーネントってIndyですか?

172 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 18:18:28 ]
Indyですね

173 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 18:27:53 ]
>>172
ありがとう

IdってIndyって意味だったのか
コンポーネントないからビルドできねぇ

174 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 23:35:50 ]
>>153
> CLOSE_WAITになったまま消えてくれません。
サーバ側のCLOSE_WAITは全く関係ない。お前の作ったクライアントがダメなだけ。

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

bindしてるだろ。

175 名前:114 mailto:sage [2009/11/12(木) 01:33:52 ]
>>120
やっぱ無理だよな、ありがとう

>>118
相手がわかってればいいんだけどねぇ

176 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 07:44:31 ]
>>128
それじゃ3-wayハンドシェイクが成立しないだろ。可能だと主張するなら動作するサンプルコードを。

177 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 08:50:27 ]
>>176
RFC に双方 connect() 時のシーケンス載ってるが?

178 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 09:25:14 ]
> This was an intentional design decision; don't try to "fix" it.
うわっ、強引。決めたんだからなおすな。

180 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 09:37:37 ]
>>179
違う違う。「実装者は双方同時 open の結果として一つ
しかコネクションが出来ないことに驚くかもしれないが、
これはそうなるように『設計』されているので直そうと
するな」ということ。



181 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 10:28:32 ]
コネクションが2つでなく1つなのは「そのように決めたんだからなおすな」って事でしょ。
なんで、そのように決めたんだろう。

という事は置いておいて、これは同時にconnectが発生した(例外的な)場合に関しての
規定であって、>>118が言ってるような狙ってできるってもんじゃないよね。

182 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 10:29:35 ]
>>174
>自分のバグを他人の所為だと思いたがる態度が、初心者にありがちな重大なミス

逆に自分のせいだと思って散々調べたら自分のせいじゃ無かったってのもよくある
まずは切り分けが大事と思い知らされた

183 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 10:44:42 ]
>>181
> 狙ってできるってもんじゃない

普通は RST が返るからってこと?

184 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 11:05:05 ]
>>181
>なんで、そのように決めたんだろう。
同じIPアドレス、ポート番号のペアを持つコネクション
は同時に複数存在できませんから。

185 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 11:18:53 ]
一方のコネクションが確立した後では、1本のコネクションにはならないでしょ。

186 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 11:22:01 ]
>>184
なるほど、接続するという選択肢を取るならそのように決めるしかないわけか。
接続しないという選択肢もあったわけだけど、そっちは採用しなかったと。

187 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 22:30:35 ]
双方がwell knonw portになってから接続を開始しているわけだから、
四つ組みが決定している。一つの接続になるのが、設計上当然の帰結。

>>183
いや再送されたのと区別がつかない。
(IPタイムスタンプオプションとかない限り)
それに普通のOSではREUSEADDRしたら、
前のは無効になる。

188 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 10:31:37 ]
よくわからないレベルで仕事って確実に地雷だなw

189 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 11:26:24 ]
結局サンプルコードはまだ?まさか>>128じゃないよね

190 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 12:06:33 ]
RFCだけ読んで「キリッ」って奴がいかに多いか分かるな
実際のコーディングはまったくできないと。



191 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 12:24:58 ]
自分が仕事出来ないのを棚に上げて人のせいにする奴もいるしな

192 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 14:55:17 ]
rfcも実際のコード実装例を描いてくれればいいのだがな。
そういうサイト作ると需要有るのか?

193 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 15:25:53 ]
>>189
> まさか>>128じゃないよね

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

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

スティーブンス本のどれかで実際のプログラムと実行例
が載ってたよ。但し、双方の SYN が交差する位には充
分に遅い経路を使う必要があったと思う。

194 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 16:24:19 ]
>>193
listenしなくて良いのか?

195 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 16:35:49 ]
>>194
> listenしなくて良いのか?

listen したら駄目なんだけど?

196 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 16:48:04 ]
ほい、スティーブンス本での同時 open の話と実行例。

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

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

www.icir.org/christian/sock.html

listen() を呼び出している servopen() は -s オプショ
ンが無いと実行されないけど上の例では -s ついてない
でしょ。

197 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 00:43:24 ]
cygwinでsockコマンドコンパイルしてlocalhostでやってみたけど、
確かに同時に実行するとconnect成功するね

・・・同時に実行しなければ繋がらないってのは、ちょっと面白いな

198 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 17:23:34 ]
遂にgoogle booksを参照する時代になったか。

199 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 17:31:32 ]
結局、元質問(>>114)を実現する事はsocketプログラミングの範囲ではできないという結論だね。

200 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 18:08:03 ]
できるだろ。釣りかよw



201 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 18:23:33 ]
listenの実装を自分で書き換えればいいだろ

202 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 00:05:59 ]
>>200
動作するサンプルを。

203 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 05:42:52 ]
HTTP/1.0
RFC1945

1.1は2616

208 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 09:05:10 ]
>>204-205
HTTP/1.0はそのように決められている。
HTTP/1.1ではPersistent Connectionsというのがあるが、使い方はかなり難しい。

209 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 09:17:41 ]
別に難しくは無いさ。
リクエストとレスポンスを交互に繰り返すだけであれば。

終端だって、どうやって判断すればよいかちゃんとRFCに書いてある。
chunkの読み出しも、そのまま実装するだけ。

210 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 03:25:47 ]
それは自分の所属するサブネットの中なの?外なの?

215 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 06:15:52 ]
>ブロードキャストアドレスとして255.255.255.255を使うのは間違ってますか?

はい

216 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 07:06:20 ]
rootにならないとできないとかそういうのもあるよね。

217 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 08:36:47 ]
ブロードキャストアドレスとして192.168.11.255と設定してあるだろ。
それ使えよ。

218 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 13:28:28 ]
基本的にネットの負荷が上がるのでブロードキャスト非推奨。

つ ブロードキャストストーム
輻輳を検知するとポート綴じちゃうスイッチも有るよ。

219 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 18:32:47 ]
>>214
自サブネット内です。
>>215
はい
ありがとうございます
>>216
rootになっても変わりませんでした。
>>217
確かに/24で切ってるので、192.168.11.255も試したのですが変わりませんでした。

ハード的におかしいのかと思い、
192.168.11.4を持つマシン上で、サーバとクライアントを動かしたのですが、
結局受信しませんでした。
wiresharkでみるとパケットは観測されてたのですが・・・

220 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 18:44:37 ]
promiscus



221 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 19:02:55 ]
× promiscus
○ promiscuous

222 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 23:24:41 ]
>>219
受信側はどうバインドしてるの? 例えば'192.168.11.4’にバインドしてたらそのアドレスへのユニキャストしか受信出来ない。 ブロードキャストも受け取りたいならアドレスは'' (空文字列)でバインドしなければだめ。


223 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 19:20:27 ]
空文字列?
192.168.11.255にバインドするべきじゃないの?

224 名前:デフォルトの名無しさん [2009/11/21(土) 19:21:12 ]
どうみても 0.0.0.0 にバインドです本当にありがとうございました

225 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 19:39:22 ]
まったく知識がないんだがどこから手をつければいいのか教えろカスども

226 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 19:50:51 ]
.255なんて使うなよw

227 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 19:56:40 ]
まずお前が何をしたいのか教えろよカスが

228 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 19:57:53 ]
SEXしたい;;

229 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 20:06:44 ]
おまえら!

N88ベーシックの時代を思い出せ!
使ってるだけじゃだめなんだよ!
利用者全員がプログラマーにならなきゃ世の中は良くならない!
そうだろうみんな!!


230 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 20:07:39 ]
食いっぱぐれます



231 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 22:21:39 ]
せんせー
IPアドレスからgethostbyaddrでホスト名とってくるプログラムをVC++(まあなんでも出来るが)で組んだのだけれど、
もし取ってこれなかった場合
>初回の例外が発生しました: 0x000006BA: RPC サーバーを利用できません。
みたいなのが出力パネルに無視して平気?
一応host名がNULLだった時の退避路はあるし、エラーでプログラムが止まるわけじゃないんだけど
なんかわざわざ一回づつ排出するもんだから気になって

232 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 23:24:51 ]
try catch

233 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 02:37:25 ]
これかな
support.microsoft.com/default.aspx?scid=kb;en-us;105675

234 名前:デフォルトの名無しさん [2009/11/24(火) 19:49:11 ]
ソケット生成してbindした時点で、データが送られてくると
受信はされるのでしょうか?
そこから、recvformで取り出すといった感じなのでしょうか?

データを一定間隔で送信し、送信した結果複数の個所からデータが返ってくる
とした場合、最初に返ってきたデータだけをデータとして取り込みたいのですが
こういった場合、どうするのが最適でしょうか?

235 名前:デフォルトの名無しさん mailto:sage [2009/11/24(火) 20:32:30 ]
bindってよく考えたら、0.0.0.0でbindしておけば
自分のIPが192.168.11.4でも recvfromで192.168.11.100 宛のデータも受信できるのでしょうか?
(ポート等は同じで、ARPで関連づけておくとして)

236 名前:デフォルトの名無しさん mailto:sage [2009/11/24(火) 20:44:28 ]
promiscuous

237 名前:デフォルトの名無しさん [2009/11/24(火) 21:35:41 ]
promiscuous は関係ない

238 名前:デフォルトの名無しさん mailto:sage [2009/11/24(火) 21:42:51 ]
それより質問の仕方が悪い

239 名前:デフォルトの名無しさん mailto:sage [2009/11/24(火) 22:43:16 ]
通常のモードだと自分のMAC宛のパケットしか受信できない

240 名前:デフォルトの名無しさん mailto:sage [2009/11/24(火) 22:56:11 ]
>>239
ARPテーブル操作して、自分のmac向けに別のIPを関連づけたら届きますよね
そこで0.0.0.0をbindしておけば自分の今のIPとは違うデータまで受信できるということでしょうか?



241 名前:デフォルトの名無しさん mailto:sage [2009/11/24(火) 23:30:36 ]
>>240
MAC判別はネットワークチップの機能だよ

242 名前:デフォルトの名無しさん mailto:sage [2009/11/24(火) 23:37:24 ]
>>241
すみません、よくわかってないのですが
MAC判別がどう関係あるのでしょうか?
宛先mac自体は、本来の宛先macをarpテーブルで指定してやりますよね

243 名前:デフォルトの名無しさん mailto:sage [2009/11/24(火) 23:42:42 ]
送信する相手のARPテーブルを操作するって事か

それが受信できるかどうかはIP層の実装仕様次第じゃないのか?
普通は出来ないと思うが・・・

244 名前:デフォルトの名無しさん mailto:sage [2009/11/24(火) 23:51:53 ]
変なパケットは捨てるのが基本

245 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 00:00:49 ]
実装仕様とはNICに依存するのでしょうか?

でもmacアドレスはあってる、IP層のIPも送信元がARPテーブル操作してあってる
から届くはずだとはおもうんですが

246 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 00:52:43 ]
> ARPテーブル操作して、
どこのマシンのARPテーブルいじる気だよ。毒入りarp投げるのか?
オレの管理下で発見したら接続禁止だぞ。上司が土下座しなけりゃつなげさせない。

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

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

もう一回言っておく。IPってゆうな。クズ。

247 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 01:18:53 ]
受信したいマシンが 192.168.11.100 というIPを持っていないから無理
RawIPでも使え

248 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 01:28:28 ]
IPってゆうな。クズ。

249 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 01:37:02 ]
単にアドレスって言うのもハンパだろ?

250 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 01:45:49 ]
IPアドレスを省略するときは単に「アドレス」って言う
IPは知的財産の省略形として稀に使うぐらい



251 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 02:01:57 ]
ネット盗聴ソフトか不正アクセスでもするソフトでも作ってるのかw

252 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 03:27:17 ]
>>235
環境による
>>240
環境による


253 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 06:53:48 ]
promiscuous

254 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 07:32:45 ]
>>246 >>247

>>252
さんがいうには、環境によってはできるとのことですが

255 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 07:33:57 ]
俺の自作スタックなら何でも出来る

256 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 08:02:59 ]
>>252
かなりめずらしい環境でないか? 組み込み系のマイナーな
スタックとか?

257 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 17:54:55 ]
WinSockのWSAAsyncSelectについて質問です。

今まで使い方を間違えていたらしく、あちこちのサンプルでは

(1)
リスニングソケットにはFD_ACCEPTを設定し
WSAAsyncSelect(socketListen, hWnd, (WM_APP + 1), FD_ACCEPT))

(2)
case FD_ACCEPT内で
SOCKET socket = accept(m_sckListen, &addr, &nLength);
WSAAsyncSelect(socket, hWnd, (WM_APP + 1), FD_READ | FD_CLOSE)

と、個別にFD_READやらFD_CLOSEを設定するのが正解のようです。

今まで私は(1)で FD_ACCEPT | FD_READ | FD_CLOSE と設定し、(2)ではWSAAsyncSelect自体を呼び出していませんでした。
ですが、この状態でもsocket側に通信データが送られてきた際に、きちんとwParam == socketな状態でWD_READが呼び出されていました。

これは、正規の仕様に乗っ取った挙動なのでしょうか?
例えば「リスニングソケットにFD_READなどを設定しておくと、そのリスニングソケットでacceptされたソケット全部にFD_READが自動的にセットされる」とかでしょうか?


258 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 18:11:24 ]
asyncも分かってないしselectも分かってないな

259 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 20:36:58 ]
ソケット生成してbindした時点で、データが送られてくると
受信はされるのでしょうか?
そこから、recvformで取り出すといった感じなのでしょうか?

データを一定間隔で送信し、送信した結果複数の個所からデータが返ってくる
とした場合、最初に返ってきたデータだけをデータとして取り込みたいのですが
こういった場合、どうするのが最適でしょうか?

260 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 20:48:26 ]
スタックって自作できるのでしょうか?
スタックを自作すれば、L1レベルから入ってきたデータを好きなように取り込めるのでしょうか?




261 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 21:07:50 ]
IEの仕様書はどこにありますか
MicroSoftのサイトの情報見ても全然かゆいところに手が届かない

262 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 21:23:21 ]
>>259
TCPだとそうだね。acceptしてからだけど。
他のは捨てたいって事なら読んでから捨ててクローズすればいい。
読まずに捨てたいってことなら、それはやらない方がいい。
理由はFAQ読んで。上にも話題に出てる。


263 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 21:24:03 ]
>>260
> スタックって自作できるのでしょうか?

あなたの能力次第。

264 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 21:25:05 ]
>>259
お前はまずProgramming UNIX Socket FAQを全部嫁。

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

>>261
ないんじゃないの?何が知りたいの?

265 名前:264 mailto:sage [2009/11/25(水) 21:25:51 ]
うお、かぶりまくったぜ。

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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



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

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

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

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


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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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




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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

367 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 21:47:59 ]
p2proxyみたいに

368 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 23:20:21 ]
>>365
Windows? Linux?
Linuxなら結構簡単

369 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 21:34:53 ]
自作したプログラムで(おそらく)存在しないURLにアクセスすると
3000回くらいで、ネットワーク自体から切断されます
ISPにも問い合わせましたが、このプログラムを止めてくれと言うだけで
原因がはっきりしません

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

WindowsAPI使ってます

370 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 21:48:30 ]
ISP側に同情するわ



371 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 21:55:11 ]
>>369
阿呆かお前は
ネットワークプログラムのテストするなら
まずはローカルで試してからだろボケ

致命的なバグを抱えているかも知れんのに
常識を疑われてもしょうがないレベルだな

372 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 22:01:37 ]
sprintfで外に出ていってしまうん?

373 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 23:24:59 ]
おまえは何を行っているんだ

374 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 00:31:54 ]
連番jpgを物故抜きしてんのか?
ネットランナーでも買っとけ

375 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 00:39:10 ]
>>369
> 原因がはっきりしません

しとるがなw

376 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 01:07:36 ]
DoSアタックと判断されて蹴られてると考えるのが普通だな
俺が管理者なら攻撃とみなしてISPに通報するね


377 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 01:11:33 ]
IPS(ISPじゃないよ)で自動的に切断です。

378 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 01:14:44 ]
IPS インターネット プロバイダ サービス
ISP インターネット サーバー プロトコル

379 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 02:42:06 ]
>>378
無知を晒して楽しいか?

380 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 07:19:11 ]
preventionなのかprotectionなのか



381 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 07:23:39 ]
脳内返答ばかりやな
役に立たんゴミども

382 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 09:44:38 ]
んなこといったって、状況説明がほとんどないんだから脳内補完して答えるしかねーだろ

とりあえずどうせ、1鯖へのコネクションは同時に2本まで。というルールすら守ってないんだろ・・・

383 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 09:51:31 ]
負荷下げるためにkeep-alive使ったり、それで性能がほしければ
パイプライニングしたりするべきだが...

384 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 12:02:10 ]
まあうざいのはdenyされるので、がんばっても無理だけどな。
相手の許容範囲で出来る事を遣るしか無い。

385 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 15:34:03 ]
>>382
>同時に2本まで。というルールすら
>>369 に、「同時にコネクション張る」甲斐性があるとは思えません。

386 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 16:44:19 ]
問い合わせたお(^ω^)

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

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

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

とりあえず、コネクション2つ以上とかアホ言ってるやつは士ね

387 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 17:04:16 ]
サムライ呼ばわりとは是如何に

388 名前:デフォルトの名無しさん [2009/12/17(木) 00:38:13 ]
ファイヤーウォールみたいに通信に割り込みかけるのってどうやるの?

389 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 03:17:17 ]
ちょっと待ってて

390 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 09:10:01 ]
架空URLに高速連続問い合わせとか、DNS鯖に対する攻撃か・・・?
警告はおろか、実際に査察が来るレベルだぞ



391 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 11:23:39 ]
友人がPING(のようなもの)を飛ばしまくって、JPNICからリアル警告くらってたな
その話聞くまで都市伝説だと思ってたよ俺も

392 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 11:25:58 ]
信用できねぇ

393 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 11:40:10 ]
>>392
一般的に考えるとJPNICからってのが胡散臭い感じがするけど
それが本当なら恐らくmrtgみたいなことしようとして主要IXとかに
pingしまくって怒られたって話なんじゃないかと。

394 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 11:45:15 ]
むちゃな事をしなけりゃ一生縁の無い話なんだから、どうでもいいなw

395 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 12:10:06 ]
どうでもいい

396 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 12:34:03 ]
昔はTCPのスタックの負荷テストするのにテキトーなサイトの
chargenポートに繋いだもんだったw

397 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 12:41:22 ]
(自慢話は)どうでもいい

398 名前:デフォルトの名無しさん [2009/12/17(木) 12:41:54 ]
パソコン通信の時代はプログラム的にはどう接続してたの?
たしか相手先の電話番号にダイヤルアップで直に接続してたんだよね?

399 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 12:46:20 ]
モデムのシリアル接続で直に。基本はテキストのみ。

バイナリをやりとりする時は XMODEM その他のプロトコルで。

400 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 13:03:50 ]
相手PCとの同期とかどうしてたの?



401 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 13:04:55 ]
図書館とかで古いパソコン雑誌見るとパソコン通信の電話番号とかたくさん掲載されててなんかすごかったわw

402 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 13:07:13 ]
同期もなにも、相手のデータを引っ張り出すだけだからなぁ
telnetとかわらん感じだが

403 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 13:09:02 ]
なるほど。細かいところはハードウェアかOSあたりが処理してたのか。今と変わらんのか。
今でもやろうと思えばパソコン通信ってできるの?

404 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 13:09:33 ]
>>400
モデムの上位は無手順。
基本はデータをただ流すだけだけど、
スタートビット、ストップビット、パリティビットなどの取り決めがある。


405 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 13:11:12 ]
オサーンが多いことだけはわかった

406 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 13:12:03 ]
>>404
そのビットとかはプログラム側で処理するの?

407 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 13:14:21 ]
RS232C(COM)プログラムしてみりゃわかる
ただ設定をちょこっと命令するだけ

408 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 13:15:26 ]
>>406
ちったあ手前で調べろや禿。つーか、シリアルI/Oも知らんのか。
最近のPCは非搭載なのが増えたせいか?

409 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 13:16:03 ]
周辺機器との通信と同じってことかな?ふ〜ん今のプロトコルとかより簡単そうだね

410 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 13:16:51 ]
本気で聞く気がなけりゃこんなもんだろう



411 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 13:17:10 ]
みなさんの貴重はお昼休みをどうもありがとうございました^^

412 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 13:20:22 ]
テンプレに本気じゃないやつは訊かずに自分で調べろとでもいれとくかw

413 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 13:26:14 ]
もう232Cでのプログラムなんてやらなくなっちゃったしな
USBばっかだし(USBもシリアルじゃんって言わないの)

414 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 13:26:32 ]
その通信の先にppp接続がある

415 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 13:42:58 ]
232Cポートが無くなっても、
最新のLinuxで毎日使う端末画面はボーレート38400bps

416 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 13:48:44 ]
たった今も機器とのシリアル通信のコード書いてるんだが・・・(マイコン系)

417 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 14:01:00 ]
>>413
USBシリアルデバイスって知らないの?
USBは上位プロトコルは既存のプロトコルを採用している。

418 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 14:08:53 ]
知ってて「突っ込むな」と書いてあるように思うんだが。

419 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 14:13:00 ]
まさかストレートにつっこまれるとは思わなかった

420 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 14:42:31 ]
最近はマイコンでもシリアル通信用のライブラリがあるからなー
AVRでUARTとMAX232でPCの232Cとシリアル通信したことあるよ。




421 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 15:02:05 ]
USB仕様が物理層でシリアルなことと、
USBシリアルデバイスがデータリンク層でシリアル型プロトコルであることは別。


422 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 15:32:15 ]
で?

423 名前:デフォルトの名無しさん [2009/12/17(木) 15:35:37 ]
パソコンに繋いだ外部機器との通信とかドライバのことってこのネットワークスレでいいの?

424 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 15:37:05 ]
マウスとかは勘弁して欲しいけどw、
HP-IBとかそういうのは構わないんじゃないの

425 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 15:40:53 ]
ども、質問できるスレを確保したので本格的に勉強始めますわ。どもでしたー

426 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 21:16:44 ]
あいよ−

427 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 23:57:39 ]
念力はだめだからな

428 名前:デフォルトの名無しさん mailto:sage [2009/12/18(金) 10:10:20 ]
ふーん

429 名前:デフォルトの名無しさん mailto:sage [2009/12/18(金) 13:26:24 ]
エスパー問題なら俺に任せて。
他人のバグなら7秒で解決する。

430 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 10:57:32 ]
>>429がデバッグを完了するタイムは、わずか7秒にすぎない。
では、デバッグプロセスをもう一度見てみよう。



431 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 00:01:19 ]
>>429
エスパーが質問に答えるスレ
pc12.2ch.net/test/read.cgi/tech/1187922645/

どうかお帰り下さい

432 名前:デフォルトの名無しさん [2009/12/21(月) 18:30:51 ]
エスパーを迫害中ですか

433 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 01:54:36 ]
そのうち「テラへ」スレになりそうだ

434 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 02:28:36 ]
雑誌を次々と潰していくエスパーよりはいいかもな

435 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 03:10:35 ]
>>434
ここ何年かは潰してないだろ!

436 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 17:17:14 ]
マルチスレッドのクライアントを作ろうとしてるんだけど
なんかエラーが出る件

WSAStartupはメインで1度呼ぶだけでいいんだよね?

437 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 23:56:55 ]
>>436
はい

438 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 12:54:52 ]
>>437


439 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 14:04:18 ]
Yahooでは返答がなかったのでこちらに質問します

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

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

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


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

OSはWindowsです


440 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 14:18:28 ]
そんなニッチな作業をするピンポイントなサンプルは無い
キーワードは固定なのか?
ネットワークプログラミングスレでその質問をするということは、
まずソケットの扱い方とHTTPの仕様を理解しなければならないな



441 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 14:39:02 ]
ネットワークプログラミングじゃねーじゃん
IEコンポでも使えばいいよ

442 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 14:58:15 ]
>>439
この辺で十分だよ
www.happy2-island.com/vbs/cafe02/capter00701.shtml


443 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 15:01:39 ]
>>439
libcurl使え

444 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 15:05:47 ]
pc12.2ch.net/test/read.cgi/tech/1260842197/
スレを勃てるまでもないC/C++の質問はここで 13
pc12.2ch.net/test/read.cgi/tech/1260532772/
C/C++の宿題片付けます 133代目

445 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 17:08:56 ]
メインスレッドがちゃんと渡してないのでは。

447 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 17:17:37 ]
Winsock2は詳しくないんだが、エラーコード10038の意味は何?
それを調べる事から調査が始まるのではないかと。

448 名前:デフォルトの名無しさん mailto:sage [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.

です。
有効なソケットではないという感じです。


449 名前:445 mailto:sage [2009/12/27(日) 23:10:32 ]
>接続中のスレッドが3コになったら、空きができるまでaccept()には戻りません。
この部分を1コに変更する(つまり、ひとつの接続が完了するまで次のaccept()には戻らない)と上記のようなエラーは発生しなくなります。

450 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 13:18:33 ]
メインスレッドからポインタでデータを渡していて
スレッドで読んでる最中に上書きしちゃてるとか



451 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 14:54:36 ]
タイムアウトのためだけにselect使う場合は
FD_ISSETは使うわなくていいんだよな?

452 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 15:17:55 ]
>>451
エラー要因はちゃんと見とけよ
割り込みだったら待ちなおしだ

453 名前:445 mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 18:39:56 ]
別のとこで同じソケット使おうとしてるんだろ

455 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 18:41:34 ]
よく分からないけど、WSAEventSelect()のほかのパラメタも
見直してみてはどうかな

第一引数のソケットは正しくても WSAENOTSOCKが返ることも
あるみたいだし
groups.google.co.jp/group/microsoft.public.win32.programmer.networks/browse_thread/thread/f7cf0ce6e7e2aefa

456 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 22:47:31 ]
排他制御が出来て無くて他のスレッドで無効にしてるんだろ。

457 名前:445 mailto:sage [2009/12/29(火) 00:06:22 ]
>>455
ありがとうございます。
リンク先のURLはWSAEventSelect(...)の2番目の引数はWSAEVENT*ではなく、WSAEVENTだよってことですよね?
(ソースはWSAEVENT**を渡そうとしているようですが)

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

>>456
それはないと思うのですが。
スレッド間で異なる値のソケットを持っていますし、アドレスで渡してはいないので別スレッドのソケットを参照してしまうこともないです。
スレッド間の排他制御以前の問題だと思います。

458 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 08:27:42 ]
>>457
> スレッド間の排他制御以前の問題だと思います。
自分のコードが間違っていると言う考えには至らず、システムに原因があると考える、
典型的な初心者。
100%に近い確率でお前のコードのどこかが、SOCKETを無効にしているか無効なソケット
を渡されたのをチェックせず見逃している。

459 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 10:29:25 ]
コードをうpすれば間違いを指摘してやるのにな

460 名前: ◆0uxK91AxII mailto:sage [2009/12/29(火) 10:40:02 ]
>>453
>エラー発生時のメインスレッドのsock(SOCKET型) と値渡ししたsock(SOCKET型) は同じ数値でした。
それは、acceptの戻り値と一致するのかな、っと。



461 名前:445 mailto:sage [2009/12/29(火) 18:33:55 ]
>>458
>自分のコードが間違っていると言う考えには至らず、システムに原因があると考える、
違いますね。
排他制御以前に自分の「winsock2の取り扱い方」に問題があると思っています。

>>460
>メインスレッドのsock(SOCKET型)
これがacceptの戻り値です。

462 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 19:09:11 ]
>461
ぐだぐだ言ってねぇでいいからSOCKETを渡してるとこと受け取ってるとこをmutexでくくれ。
話はそれからだ

463 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 19:29:44 ]
> 排他制御以前に自分の「winsock2の取り扱い方」に問題があると思っています。
socket, acceptでSOCKET作る。使う。閉じる。これだけなのに使いこなせないとは
よほどのヘボということになるが。

464 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 19:34:22 ]
仕事の話なら「死んでくだしあ」になるけど
趣味ならしょうがないというか、よくある話でしょう。

465 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 22:03:57 ]
勘違いしてました、とかよくあるからな

466 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 22:26:02 ]
2ちゃんねるはもっと親切な場所だと勘違いしてました(><)


467 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 22:44:11 ]
2ちゃんねるが親切とか、どこを見ればそんな勘違いできるんだろう

468 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 22:47:40 ]
俺がいるからこういう勘違いをさせてしまう

469 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 02:50:22 ]
オヤギリ・・・ゴクリ

470 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 11:49:29 ]
みんな、すまん



471 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 12:04:37 ]
うむ

472 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 15:49:10 ]
2ちゃんねるは 匿名で知らない新人のかげぐちを言う
最低のゴミクズのチンカス野郎のあつまりですよ(^-^)

473 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 15:52:37 ]
チンカスって何?

474 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 16:01:04 ]
>>473
あなたのことですよ(^-^)

475 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 19:30:21 ]
>>453
> SOCKET_ERRORの時はif(WSAGetLastError()==WSAEWOULDBLOCK)...の処理を入れてあります。

こういうWSAGetLastErrorの使い方されれると、
ドキュメントに書いてあること守っているかどうか気になるなあ。

476 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 06:13:07 ]
いっそオープンソースでやればいいが
ぱくられる、たたかれる、異常なほどの知識をもったキチガイがくる
のいずれかに該当するので結局オープンにしない
そして、車輪の再開発はまた繰り返される
これが日本のクオリティ

477 名前:445 mailto:sage [2010/01/03(日) 00:45:04 ]
原因が分かった。

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

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

最初のclosesocket()によって開放したソケット(と同じ値)を>>445のサーバが再利用するようになったときに
オブジェクトの破棄時にまたclosesocket()を呼び出したせいでサーバが取得したソケットを無効にしてしまっていたようでした。

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

よろしくお願いします

479 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 23:56:38 ]
SystemVとPosixのメッセージキューってどっちが高速なんでしょうか?



481 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 07:08:06 ]
お前の環境で実測しろ、馬鹿

482 名前:478 mailto:sage [2010/01/05(火) 19:55:43 ]
>>479
レスthx。そんなところに書いてあったのか
Content-Lengthでやってみます

483 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 22:41:25 ]
>>480
一般的にはposixの方が速いけど、>>481のレスのとおりだと思います。

484 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 22:50:30 ]
一般的とは?速い根拠は?

485 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 23:13:09 ]
>>484
SystemVが遅いからいろんな方法が生まれたということを考えるとねぇ

486 名前:デフォルトの名無しさん mailto:sage [2010/01/06(水) 00:04:41 ]
だから、根拠は?
あんたの妄想なんていらないんだよ

487 名前:デフォルトの名無しさん mailto:sage [2010/01/06(水) 00:09:19 ]
なんて偉そうな教えてくん

488 名前:デフォルトの名無しさん mailto:sage [2010/01/06(水) 00:11:17 ]
で、根拠はまだかね?

489 名前:デフォルトの名無しさん mailto:sage [2010/01/06(水) 00:14:06 ]
おい、根拠はまだか

490 名前:デフォルトの名無しさん mailto:sage [2010/01/06(水) 00:15:01 ]
こっちだって忙しいんだからさっさと根拠だせよ無能ども



491 名前:デフォルトの名無しさん mailto:sage [2010/01/06(水) 00:21:32 ]
根拠は出せないみたいだな
知ったかの馬鹿ばっかだったってことだ
今日も俺の勝ち

492 名前:デフォルトの名無しさん mailto:sage [2010/01/06(水) 01:07:22 ]
ねんねの時間だぞオイ

493 名前:デフォルトの名無しさん mailto:sage [2010/01/06(水) 16:47:15 ]
誰?こいつにこんなとこ教えたの

494 名前:デフォルトの名無しさん mailto:sage [2010/01/06(水) 16:48:38 ]
深夜に会社にもぐりこんでパソコンやってんのかね
キモチワルイ ヒマジン キチガイ モノゴイ

495 名前:デフォルトの名無しさん mailto:sage [2010/01/06(水) 17:13:42 ]
ほんと、一般的〜とか 〜の方が速いとか 〜が遅いからとか
真面目なスレに出てきてほしくないよね、何が楽しいんだろうか

496 名前:デフォルトの名無しさん mailto:sage [2010/01/06(水) 17:36:59 ]
そもそもメッセージキューって、このスレと関係ないだろ。

>>495
お前も何が楽しくてレスしてんだよ。

497 名前:デフォルトの名無しさん mailto:sage [2010/01/06(水) 17:50:24 ]
この一連が楽しくないからレスしたのだが、それがなにか?

498 名前:デフォルトの名無しさん mailto:sage [2010/01/06(水) 19:01:45 ]
争いの発生源
深夜時刻の書き込みを規制すればいいような

499 名前:デフォルトの名無しさん mailto:sage [2010/01/06(水) 19:13:50 ]
そんなできもしない事を書いて何になるのか

500 名前:デフォルトの名無しさん mailto:sage [2010/01/06(水) 19:18:15 ]
根拠や実現性の無い事ばかり言う奴っているよね。
邪魔でしょうがない。



501 名前:デフォルトの名無しさん mailto:sage [2010/01/06(水) 20:18:27 ]
マスコミとか?

502 名前:デフォルトの名無しさん mailto:sage [2010/01/06(水) 20:45:33 ]
手元の環境で簡単に実測できることを、いつまでぐだぐだ言ってんだ

503 名前:デフォルトの名無しさん mailto:sage [2010/01/07(木) 00:56:32 ]
>>500はナイコン族。キーボードの写真を見ながらプログラムを夢想してる。

504 名前:デフォルトの名無しさん mailto:sage [2010/01/07(木) 01:01:37 ]
ナイコン族なつかしー

505 名前:デフォルトの名無しさん mailto:sage [2010/01/07(木) 21:50:38 ]
>>496
UNIXネットワークプログラミングのVol.2の内容だな
このスレとは関係ないけどな

506 名前:デフォルトの名無しさん mailto:sega [2010/01/08(金) 22:19:30 ]
意図的にパケットロスや遅延を起こすようなブリッジっぽいプログラムを探してるんだけど
なんかお勧めはありますか?

507 名前:デフォルトの名無しさん mailto:sage [2010/01/08(金) 22:26:19 ]
dummynet, altq

508 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 18:53:54 ]
そのサイトの管理者に聞きなさい

512 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 23:27:13 ]
>>510
あまり頻繁に同一アクセスすると、DOSアタックと間違えられて、塞がれるからかもしれないぞ。

513 名前:デフォルトの名無しさん [2010/01/16(土) 10:07:48 ]
>>511さん>>512さんありがとうございます。
難しいですね。
アクセスする度にIP変えるとしてもホストでわかるでしょうし。

とりあえずまだ時間はあるので自分で考えてから決めようと思います。

514 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 14:02:32 ]
>>510,511,513
何を言ってるんだ、おまいらは?
それはネットワークプログラミングの問題ではなくて、サイトの運営ポリシーの問題だ
512 が正論だと思うが… … …


515 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 14:48:49 ]
おまえは2chをなんだとおもってるんだ

516 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 16:13:26 ]
掲示板かな

517 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 18:47:05 ]
アクセス少ないサイトで10000回もアクセスされたら嫌がらせだな。
100万PVのサイトなら誤差?

開発日記でもブログに書いて10000回アクセスしてログ見てみたらw

518 名前:デフォルトの名無しさん [2010/01/16(土) 21:32:09 ]
>>517
1日当たりのアクセス数調べてみたら5000万はありそうです。

とっても嫌な気持ちになると思われます。。

519 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 22:17:37 ]
アクセスランキング上位の超人気サイト

520 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 22:53:51 ]
google相手だったら恐らくbanされるな(規約で自動化について触れている)



521 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 02:51:20 ]
winsockでconnectのタイムアウトをつけるにはどうすればいい?

522 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 11:03:01 ]
ノンブロッキングでconnect

523 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 11:30:29 ]
スレッドでコネクト

524 名前:デフォルトの名無しさん [2010/01/24(日) 01:45:41 ]
シリアルポートを使うアプリ開発しているんですが、
PC1台しかないんで、もう一つ対抗装置をエミュするアプリ作って
同じPC上で通信ってできますか?
ソケットならループバックできるけど、シリアルポートはさすがに無理?
物理的につながった相手としか交信できませんか?

525 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 01:55:13 ]
VMwareとかVirtualBoxとかを使えばできるんじゃない?

526 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 01:58:41 ]
>>525
なるほど!その手があったか。
ありがとうございます!

527 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 02:05:15 ]
安いPCでも買えばいいのに

528 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 02:07:19 ]
普通にUSBシリアル変換を1つ持ってくれば良いんでないの?

529 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 02:29:03 ]
古いPC何台かあまってるけど
あげようか?

530 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 03:46:52 ]
>>525
仮想ポート同士を繋げるなんて出来たっけ?



531 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 05:44:16 ]
全然ネットワークじゃ無い様な気もする。
シリアルなんて付いてるpc探すほうが苦労するし、もうusbでよくね?

pc12.2ch.net/test/read.cgi/tech/1162901243/
USBプログラミング入門
pc12.2ch.net/test/read.cgi/tech/1162801793/
RS-232cについての質問(初心者)

532 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 09:56:16 ]
MAX232使えばいいよ

533 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 13:42:30 ]
え?今のPCってシリアルついてないの?

534 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 14:39:46 ]
今もPCってパラレルポートもなかったりして

535 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 15:01:48 ]
>>530
データの読み書き程度なら、VMwareの場合シリアルポートを名前付きパイプに
マップしたり出来るらしいし、なんとかなるかも

536 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 17:15:36 ]
telnetdを作ってるのですが、
0x1bのESCだけが送られてきた時と、
エスケープシーケンス(0x1b[Aとか)の区別は
続く文字がこない場合、タイムアウトでやるしかないでしょうか。

537 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 17:29:58 ]
どっちみちクライアント側からは
行単位でしか送られてこないケースが多いけど

538 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 17:32:26 ]
エコーバックがあるからそんなことないだろ

539 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 17:34:33 ]
次が来るまで保留

540 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 17:38:18 ]
>>536
タイムアウトしてはいけない



541 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 17:54:46 ]
何故、区別する必要があるのだろう?

542 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 17:59:24 ]
そういえば最後の1バイトが0x1bで終わってると
ハングアップする糞メールソフトがあったな
NeXTのMail.appだったかな

543 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 20:28:00 ]
シリアルで電文コマンド送出するプログラム書いたから
内容によって返答を返してくれるレスポンスプログラムも用意してデバッグしたいってこと?
素直にお古のPCを持ってきた方がいいんじゃない?

544 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 21:26:02 ]
送る処理と受ける処理を混同してるような

545 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 22:01:47 ]
s/送る/攻める/

546 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 22:04:32 ]
なにこいつうぜえ

547 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 23:35:38 ]
>>540
いやいや、常に正格なバイト列だけ送られると仮定してはいけないよ。

548 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 23:44:30 ]
>>547
それとタイムアウトは関係ないよね

549 名前:デフォルトの名無しさん [2010/01/25(月) 12:45:46 ]
ええと、
よくキャンセルの意味でESCを押して画面やコマンドを
クリアすると思うのですが、それを実現したいのです
簡易シェル的な機能を持ってるので
カーソル移動とかと区別したいのです


550 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 12:48:51 ]
それはクライアントの仕事じゃないの



551 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 13:28:30 ]
telnetd→クライアント の方向から カーソル移動とかのエスケープシーケンスを送るのは考えられるけど
クライアント→telnetd の方向で カーソル移動とかのエスケープシーケンスを流すの?

552 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 15:24:06 ]
画面制御は無いけど、文字コード切り替えはあるな。

553 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 15:44:55 ]
UNIXドメインソケットつくるとき
socket( PF_UNIX, SOCK_STREAM, 0 );
第3引数には 0 を入れてるけど、ほんとは何が正しいの?

554 名前:デフォルトの名無しさん [2010/01/25(月) 16:02:39 ]
telnet 中に ^] を押すと何かが起こる

555 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 16:24:19 ]
>>552
そうなると 文字コード切り替え と 簡易shell への画面消去を意図した 0x1b 一発との区別は
ストリームベースである以上 telnetd 側では判断できない ってことになるよね

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

こういう落とし方になるのだろうか?

556 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 16:55:36 ]
>>524
古いPCならシリアルポート2つ付いてたりするけどな
1つしかないなら、シリアルカード買ってきて刺すのが吉かと
¥3kくらい?

557 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 16:57:58 ]
シリアルポート⇔TCPソケット の簡易鯖作って
アプリのほうは TCPソケット相手にがんばる じゃ面倒か

558 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 17:18:32 ]
今ならUSBのシリアルポートあるでしょ
アレ便利ですよ

559 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 17:24:52 ]
USBシリアルだと電圧足りなくてPICに書けなかったりするんだよねぇ

560 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 17:24:59 ]
たまに電力足りないとかでEEPROMライタ使えないとかいう噂あるけど



561 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 17:26:36 ]
やっぱりそうかw

562 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 17:33:09 ]
シリアルの電源使ってるのかw
シリアルじゃ足りなくてキーボードコネクタからも拝借してたなあ・・・

563 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 17:35:46 ]
駄目なひとはUSBハブ通しちゃってるんじゃないの?

564 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 17:36:39 ]
TCP/IP だと通信内容モニタリングはしやすくなるのかな






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

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

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