ネットワークプログラミング相談室 Port25
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2009/10/14(水) 03:43:08Programming 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/
0002デフォルトの名無しさん
2009/10/14(水) 03:45:45Port24 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
0003デフォルトの名無しさん
2009/10/14(水) 03:49:19UNIXネットワークプログラミング〈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/
0004デフォルトの名無しさん
2009/10/14(水) 03:50:36http://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/
0005デフォルトの名無しさん
2009/10/14(水) 03:51:18★規格
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
0006デフォルトの名無しさん
2009/10/14(水) 03:52:13C10K ヘヴィーロードサーバ
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/
0007デフォルトの名無しさん
2009/10/14(水) 03:53:14ethereal - http://www.ethereal.com/
Wireshark - http://www.wireshark.org/
tcpdump - http://www.tcpdump.org/
Windump - http://netgroup-serv.polito.it/netgroup/tools.html
WinPcap - http://www.winpcap.org/
pathchar - ftp://ftp.ee.lbl.gov/pathchar/
pchar - http://www.employees.org/~bmah/Software/pchar/
Packetyzer - http://www.networkchemistry.com/products/packetyzer/
libevent - http://www.monkey.org/~provos/libevent/
★プロトコル
TTCP
http://www.sean.de/Solaris/ttcp.html
http://www.kohala.com/start/ttcp.html
UDP Hole Punching
http://homepage3.nifty.com/toremoro/p2p/firewall.html
★IP, TCP実装
http://www.iti.fi/documentation/miniip.html
http://www.sics.se/~adam/uip/
http://www.codeguru.com/Cpp/I-N/network/tcpip/article.php/c5447/
http://www.geocities.jp/bruce_teller/security/garakuta.htm
0008デフォルトの名無しさん
2009/10/14(水) 06:56:20乙
0009デフォルトの名無しさん
2009/10/14(水) 11:37:470010デフォルトの名無しさん
2009/10/14(水) 21:10:470011デフォルトの名無しさん
2009/10/14(水) 21:54:36イーヨ
0012デフォルトの名無しさん
2009/10/14(水) 23:22:330013デフォルトの名無しさん
2009/10/15(木) 08:35:320014デフォルトの名無しさん
2009/10/16(金) 03:54:59ローカルでしか発見し得ないかも
0015デフォルトの名無しさん
2009/10/16(金) 13:16:40その殆どはわかったときには既に手遅れだったものばかりだ
0016デフォルトの名無しさん
2009/10/17(土) 18:22:060017デフォルトの名無しさん
2009/10/20(火) 22:12:151000byteなら送信できたのですが3000byteを送信しようとすると何か設定が必要なのでしょうか?
0018デフォルトの名無しさん
2009/10/20(火) 22:29:37これ関係ある?
0019デフォルトの名無しさん
2009/10/20(火) 22:31:010020デフォルトの名無しさん
2009/10/20(火) 23:32:16UDPとか使わないから俺は実験しないお
0021デフォルトの名無しさん
2009/10/21(水) 00:34:440022デフォルトの名無しさん
2009/10/21(水) 05:25:560023デフォルトの名無しさん
2009/10/21(水) 05:50:450024デフォルトの名無しさん
2009/10/21(水) 05:55:10002517
2009/10/21(水) 07:50:191パケット以下なら送信が成功するのですが、そういう設定する
オプションってあるのでしょうか?
0026デフォルトの名無しさん
2009/10/21(水) 09:03:080027デフォルトの名無しさん
2009/10/21(水) 09:17:450028デフォルトの名無しさん
2009/10/21(水) 13:51:17原因を探っていたらどうもヘッダファイルのインクルード順序によって出るという結論に達しました
おおよそでも結構ですので、こういう順序でインクルードするとエラーが出にくいという方針などはあるのでしょうか?
0029デフォルトの名無しさん
2009/10/21(水) 15:37:020030デフォルトの名無しさん
2009/10/21(水) 23:11:300031デフォルトの名無しさん
2009/10/22(木) 00:20:32フラグメント有効ってどうすればよいのでしょうか?
カードの問題?
0032デフォルトの名無しさん
2009/10/22(木) 02:04:56オフにしているところも結構ある。
頼らずに分割して送れ。
0033デフォルトの名無しさん
2009/10/22(木) 02:13:160034デフォルトの名無しさん
2009/10/22(木) 02:34:35IP だとそうだけど, UDP のリアセンブルは IP とは別問題じゃないか?
とはいえ, IP フラグメント捨てられたら UDP がこけるのも事実だが……
そもそも, 元ネタが環境を書いてないのがよくない
0035デフォルトの名無しさん
2009/10/22(木) 02:38:480036デフォルトの名無しさん
2009/10/22(木) 07:23:31> UDP のリアセンブル
何のことを言っているの?
0037デフォルトの名無しさん
2009/10/22(木) 08:04:23フラグメント化のオンオフってどうやるんだったかな
0038デフォルトの名無しさん
2009/10/22(木) 08:36:440039デフォルトの名無しさん
2009/10/22(木) 09:54:31IPv6 は MTU ディスカバリー使って, 途中経路でフラグメント化されない形で
送信できるけど, v4 にはそうゆう機能がないのでフラグメント化される可能性
がある.
UDP は MTU 以上のデータグラムを送ろうとすると, 複数の IP パケットに分割して
送信される.
IP のフラグメントをリアセンブルするのと, UDP のデータグラムを複数の
IP パケットからリアセンブルするのは別の話だって言ってるんじゃないか
0040デフォルトの名無しさん
2009/10/22(木) 13:41:40ありがとうございました
0041デフォルトの名無しさん
2009/10/22(木) 18:07:40ん?
Path MTU DiscoveryはIPv4にだってあるだろ?
0042デフォルトの名無しさん
2009/10/22(木) 19:55:05>>39
フラグメンテイションもリアセンブルも、
IP層で行われるのであって、上の層が何かは関係ない。
tcpdumpやfirewallみたいに層縦断する奴等は気にする必要があるが。
0043デフォルトの名無しさん
2009/10/22(木) 20:19:180044デフォルトの名無しさん
2009/10/22(木) 20:21:040045デフォルトの名無しさん
2009/10/22(木) 20:21:440046デフォルトの名無しさん
2009/10/22(木) 20:51:230047デフォルトの名無しさん
2009/10/22(木) 22:30:32The Internetにつながってるサーバはecho返さないようになってるの多くね?
0048デフォルトの名無しさん
2009/10/22(木) 23:07:440049デフォルトの名無しさん
2009/10/22(木) 23:09:120050デフォルトの名無しさん
2009/10/24(土) 14:23:18何にすればいいの
0051デフォルトの名無しさん
2009/10/24(土) 14:39:420052デフォルトの名無しさん
2009/10/24(土) 14:45:28サーバ側がaccept(2)で接続確立するまで、
サーバ側に既に到着し待たされている接続要求をいくつ持てるか?
>>51
少なすぎて話にならない。
0053デフォルトの名無しさん
2009/10/24(土) 19:57:250054デフォルトの名無しさん
2009/10/24(土) 20:12:460055デフォルトの名無しさん
2009/10/24(土) 20:14:070056デフォルトの名無しさん
2009/10/24(土) 22:12:56例えばLinuxは最小が8、最大はsysctl.max_syn_backlog
2の階乗にラウンドされる。
0057デフォルトの名無しさん
2009/10/24(土) 22:46:010058デフォルトの名無しさん
2009/10/25(日) 00:07:080059デフォルトの名無しさん
2009/10/25(日) 00:14:170060デフォルトの名無しさん
2009/10/25(日) 13:04:090061デフォルトの名無しさん
2009/10/25(日) 13:12:440062デフォルトの名無しさん
2009/10/25(日) 14:05:12相手がクローズしたかどうかを知るにはどうすればいいの?
0063デフォルトの名無しさん
2009/10/25(日) 15:03:270064デフォルトの名無しさん
2009/10/25(日) 15:05:510065デフォルトの名無しさん
2009/10/25(日) 22:27:46中継器は使用せず直接LANケーブルで送信受信側をつないでます
どうやらパケット自体送出できないみたいなのです
フラグメント化が必要なデータだと
0066デフォルトの名無しさん
2009/10/25(日) 22:52:42動いてるなら気にスンナ
0067デフォルトの名無しさん
2009/10/25(日) 23:47:010068デフォルトの名無しさん
2009/10/26(月) 00:25:23何がしたくて, 何をやったらどうなってるのよ?
どう言う意味でパケットのフラグメントを使ってるのよ?
IP フラグメントってのは, 下の例のような構成で,
中継が MTU=500 のネットに会わせて, 勝手に IP パケットを分割する
時の話だぞ
端点 -> MTU=1000 のネット -> 中継 -> MTU=500 のネット -> 端点
UDP で MTU 以上のデータを送信したいとかって話?
0069デフォルトの名無しさん
2009/10/26(月) 15:50:31そうなるとrecvとaccsept用に2つスレッド作らないといけないのか?
0070デフォルトの名無しさん
2009/10/26(月) 16:17:26スレッドは1つでok
0071デフォルトの名無しさん
2009/10/26(月) 16:39:01sendto,sendmsgを使うなら宛先は指定しなければならないんでしょうか?
0072デフォルトの名無しさん
2009/10/26(月) 17:41:42作り方教えて
0073デフォルトの名無しさん
2009/10/26(月) 17:44:43勘違いしてました
0074デフォルトの名無しさん
2009/10/26(月) 18:24:380075デフォルトの名無しさん
2009/10/26(月) 20:21:31今のトレンドのプログラム言語はなんでしょうか
0076デフォルトの名無しさん
2009/10/26(月) 20:22:200077デフォルトの名無しさん
2009/10/26(月) 20:26:400078デフォルトの名無しさん
2009/10/26(月) 20:29:140079デフォルトの名無しさん
2009/10/27(火) 00:12:51すみません、UDPでMTU以上のデータを送りたいということです。
分かりにくくて申し訳ないです
0080デフォルトの名無しさん
2009/10/27(火) 00:54:01OSとか環境とか情報はないのか?
sendto で宛先指定すりゃ普通に出ていかないか?
送れてない時ってエラー帰ってないか?
どうしても send が使いたいんだったら >>74
もっとも, 組み込み用のスタックとかだと UDP の
connect は, 実装してないスタックもあるらしいが…
0081デフォルトの名無しさん
2009/10/27(火) 06:19:11送れません。
0082デフォルトの名無しさん
2009/10/27(火) 10:31:310083デフォルトの名無しさん
2009/10/27(火) 23:38:530084デフォルトの名無しさん
2009/10/27(火) 23:54:470085デフォルトの名無しさん
2009/10/27(火) 23:56:00漏れは読まないけど
0086デフォルトの名無しさん
2009/10/27(火) 23:57:11ノ
0087デフォルトの名無しさん
2009/10/28(水) 11:08:250088デフォルトの名無しさん
2009/10/31(土) 04:47:46ICMP echoは捨ててもいいと思うけどね。ルータで捨てた時に送って来るICMPは捨てると良くないことが起きそうだが。
0089デフォルトの名無しさん
2009/11/01(日) 21:35:44UDPのconnectなんてあるんですね。。でも、connectすりゃ、send,recv使えるって
しなくてもmtu以下のサイズなら使えます。そういうことではないのでしょうか?
OSがUNIXでもwindowsでもないからおくれないのかなぁ
0090デフォルトの名無しさん
2009/11/01(日) 21:47:16だって宛先不明
sendtoやsendmsgは使える
connectしたらsendも使える
0091デフォルトの名無しさん
2009/11/01(日) 23:04:55そんな古いDoS攻撃…
0092デフォルトの名無しさん
2009/11/01(日) 23:21:35人数が増えるたびrecvの回数増やすにはどうすればいいんだ?
0093デフォルトの名無しさん
2009/11/02(月) 00:37:19受け付けた接続ごとに別々のスレッドを立ち上げるか
selectやpoll等を使ってひとつのスレッドですべての接続を捌くか
好きなほうを選べ
0094デフォルトの名無しさん
2009/11/02(月) 02:12:480095デフォルトの名無しさん
2009/11/02(月) 02:37:430096デフォルトの名無しさん
2009/11/02(月) 03:33:19なにかいい方法ありませんか?
0097デフォルトの名無しさん
2009/11/02(月) 09:59:520098デフォルトの名無しさん
2009/11/02(月) 10:28:49取りこぼさないのは無理なので、取りこぼしたことを検出して回復を図る
0099デフォルトの名無しさん
2009/11/02(月) 11:25:32UDPにするなら取りこぼしてもいいようにプログラム側を設計しろ
っていうのが定型文的な解答
0100デフォルトの名無しさん
2009/11/02(月) 15:29:39「Ethernat直結でしか使わないからUDPでも取りこぼしなんて起きないだろう」
などと考えること。これをやってハマる初心者が意外に多くて困る。
0101デフォルトの名無しさん
2009/11/02(月) 16:09:270102デフォルトの名無しさん
2009/11/04(水) 18:16:51誰かからデータ受信したら送信してきた相手以外の
クライアントにそのデータを送るにはどうしたらいいの?
0103デフォルトの名無しさん
2009/11/04(水) 18:29:170104デフォルトの名無しさん
2009/11/04(水) 18:31:150105デフォルトの名無しさん
2009/11/04(水) 19:14:21通知を送りたいスレッドは宛先スレッドのキューに送りたいデータを置く
通知を受け取りたいスレッドはヒマなときに自分のキューを見てデータが来ていたら取り出す
OSによってはそういったメッセージキューの機能をすでに持っていることもある
自分で作る場合はスレッドセーフにすることを忘れずに
0106デフォルトの名無しさん
2009/11/04(水) 19:29:06受信したスレッドが全部のソケットに書けばいい
排他が気になるなら、ひとつmutexをロックしておけばいい
0107デフォルトの名無しさん
2009/11/04(水) 19:30:21その質問そのものをコードにしてみればいいじゃないか(受け取ったデータを他に転送)
リソース競合には気をつける必要があるけど処理自体はおまいの質問そのものだぞ
0108デフォルトの名無しさん
2009/11/04(水) 19:32:41何か効率の良い方法とか、そういうライブラリの存在を訊きたいのかもしれないが
そのレベルだとどちらの意味でもがんばって送信しやがれってレベルでしかないぞ。
0109デフォルトの名無しさん
2009/11/04(水) 22:04:39スレッドに値渡ししたら次のアクセプトで変数上書きしてて
受信したスレッドは、送信する相手のソケットを知ることができないんだ
だから他のスレッドに通知してそのスレッドから送信させようかなと
グローバルの配列で管理しておかないとだめってことか
0110デフォルトの名無しさん
2009/11/04(水) 22:13:09(キューの実装は配列でもいいけれど)
0111デフォルトの名無しさん
2009/11/04(水) 22:36:170112デフォルトの名無しさん
2009/11/04(水) 22:56:510113デフォルトの名無しさん
2009/11/05(木) 00:15:28ノンブロックで受信とそのキューとやらのチェックをポーリングさせるってことじゃないのか
0114デフォルトの名無しさん
2009/11/05(木) 01:33:27listen()でバックログを1にしてaccept()した瞬間にlistenソケット閉じて
ってやればいいかと思ったけど
acceptする前にどんどん接続を受け付けやがる
0115デフォルトの名無しさん
2009/11/05(木) 02:47:460116デフォルトの名無しさん
2009/11/05(木) 04:37:560117デフォルトの名無しさん
2009/11/05(木) 08:47:12詳しくはこっちだな
マルチスレッドプログラミング
http://pc12.2ch.net/test/read.cgi/tech/1253521167/
0118デフォルトの名無しさん
2009/11/05(木) 09:01:16無理なOSは無理なんで諦めてください。
あらかじめ双方のポート番号が分かっているなら
双方からconnectって手があるけど。
0119デフォルトの名無しさん
2009/11/05(木) 09:02:35お前がそう言う実装に拘る理由こそ、どういうこと?
0120デフォルトの名無しさん
2009/11/05(木) 09:29:30キミのやりたい事は完璧にはできない。
バックログを0にして、acceptしたらlistening socketをcloseする。
これでもacceptしてからcloseするまでの間は接続を受け付けてしまう。
>>118
可能なOSを例示してくれ。今まで聞いたことが無いから知りたい。
0121デフォルトの名無しさん
2009/11/05(木) 09:41:410122デフォルトの名無しさん
2009/11/05(木) 10:01:50双方からconnectってなんだよ。
0123デフォルトの名無しさん
2009/11/05(木) 10:46:350124デフォルトの名無しさん
2009/11/05(木) 11:55:49データ送信したとき全くの正常ならば
相手から返ってくるAcknoledgeNumber=自分が送信したSequenceNumber+TCPデータ長
となる筈なんだろうけど、この相手のACKパケットに入ってるAcknoledgeNumberが和より少ないときってこっちは何をすれば良いんだ?
もらったAcknoledgeNumberの分までは正常と見なして続きから送り直せばいいのかね?
0125デフォルトの名無しさん
2009/11/05(木) 15:25:59そんなもんは気にせずに window size が 0 になるまで無理やり送りつけるんだ
0126デフォルトの名無しさん
2009/11/05(木) 17:43:56再送バッファサイズ<=窓までは送れる
0127デフォルトの名無しさん
2009/11/05(木) 22:18:00最後は再送バッファサイズの問題とかスロースタートの問題には
行き当たるんだろうけど、プロトコル的には送ったもん勝だわな
0128デフォルトの名無しさん
2009/11/06(金) 02:03:33host1: socket→bind→connect
host2: scoket→bind→connect
TCPの接続開始ハンドシェイクはこういうやり方でも可能。
0129デフォルトの名無しさん
2009/11/06(金) 22:03:48ソースで示して>128
0130デフォルトの名無しさん
2009/11/07(土) 13:54:240131デフォルトの名無しさん
2009/11/07(土) 14:48:440132デフォルトの名無しさん
2009/11/07(土) 16:41:100133デフォルトの名無しさん
2009/11/08(日) 21:50:24UDPのパケットを送る方法って無いでしょうか?
SetIpNetEntry()で静的arpに登録して送っても駄目みたいでした。
(たぶん送信時に跳ねられている)
0134デフォルトの名無しさん
2009/11/08(日) 23:07:350135デフォルトの名無しさん
2009/11/09(月) 00:10:05SetIpNetEntry()を呼ぶのと、arpコマンド実行は同じ事だと思うけど、
試しにpingとwireshark使ってやってみました。
Destination host unreachable.
と出て、相手には何も届いてないですね。
しかも、Windows7でやると特権がいるとかでエラーになるし、
諦めてブロードキャストで送ることにします。
0136デフォルトの名無しさん
2009/11/09(月) 08:54:56こっちも相手側もクライアントとサーバになります
VC(MFC)でプログラムを作ろうと思いますが
どうやって作っていいかわかりません
クライアント側はサーバーに接続して
ファイルを転送する?イメージがあります。
検索するとCFtpConnectionをつかって作るのがわかりました
でもサーバー側ってどうやって作るんでしょうか?
どこかにサンプルとかヒントはありませんか?
0137デフォルトの名無しさん
2009/11/09(月) 09:38:230138デフォルトの名無しさん
2009/11/09(月) 10:18:54プログラムでファイルをリモートのPCに送りたいのと
相手側がいつでもファイルをこちら側に送れるように
ftpサーバー機能があればいいです
0139デフォルトの名無しさん
2009/11/09(月) 10:21:10違うネットアドレスへ送ろうとする場合、arpはgateway
に対してだよ?routeはどうなってるの?
0140デフォルトの名無しさん
2009/11/09(月) 10:39:50では
http://www.geekpage.jp/programming/winsock/
をちょこっと見ればできますね
0141デフォルトの名無しさん
2009/11/09(月) 11:07:33ありがとうございます
見てみましたがftpについては見当たりませんでした
ftpサーバとしてftpクライアントの要望にこたえる例とかしりませんか?
0142デフォルトの名無しさん
2009/11/09(月) 11:10:23サーバもクライアントも作るなら特定のプロトコルにこだわる必要もないだろう
0143デフォルトの名無しさん
2009/11/09(月) 11:11:380144デフォルトの名無しさん
2009/11/09(月) 11:13:14ttp://www.codeproject.com/KB/IP/CFtpServer.aspx
0145デフォルトの名無しさん
2009/11/09(月) 11:18:28一応売り物にするのでフリーのは問題ある?のではないかと思ってます
システムに組み込んで売っても問題ないフリーソフトとかありませんか?
>>144
ありがとうございます
参考にサンプル落とし見ようとしたら登録が必要なようですorz
英語はわからなくて…すみません
0146デフォルトの名無しさん
2009/11/09(月) 11:25:490147デフォルトの名無しさん
2009/11/09(月) 11:28:01日本語訳もあったはずだ
0148デフォルトの名無しさん
2009/11/09(月) 11:48:47BSDライセンスのFTPサーバ。FreeBSDのとか。
まあ機能限定で実装すれば自前でも簡単だけど。
0149デフォルトの名無しさん
2009/11/09(月) 11:54:27ありがとうございます
ちょっと調べてみます
自分でいろいろ調べてたらXPにもftpサーバがあるみたいなのですが
XPのを使うのとフリーのftpサーバ使うのは全然違う意味ですか?
XP標準にあるならそっちのが楽なのかなぁ?と思ったりしてます
0150デフォルトの名無しさん
2009/11/09(月) 12:03:14IISのこと?
0151デフォルトの名無しさん
2009/11/09(月) 12:04:520152デフォルトの名無しさん
2009/11/09(月) 12:09:04そうです
XP Proを使う予定でs
0153デフォルトの名無しさん
2009/11/09(月) 17:17:07VB6.0のwinsockオブジェクトを用いて、出来合いのサーバ(ORCA_CLAIM)に
データを送信するプログラムを作成してます。
ポートとアドレスを指定して送りたいデータを送信し、
ただクローズするだけなのですが、送信後にサーバのステータスが
CLOSE_WAITになったまま消えてくれません。
(# netstat -nap localhost などで確認)
そうなると再送信してもポートが現在使用されていますと出て、
エラーを返すのでとても困っています。
サーバソフトの製作元にもたずねて見ましたが、そんな現象はありえないと
いうお話でしたので、どうもこちら側に決定的な原因があるようです。
状況説明がうまくないようでしたら申し訳ありません。
何か、ありがちなミスなどありましたらご指摘よろしくお願いします。
0154デフォルトの名無しさん
2009/11/09(月) 17:41:200155デフォルトの名無しさん
2009/11/09(月) 17:51:47Option 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
0156デフォルトの名無しさん
2009/11/09(月) 18:47:40VBスレの人なら知ってる人いるんじゃない?
0157デフォルトの名無しさん
2009/11/09(月) 19:29:30>>154
うーん。Winsock1.closeはやっているのですが、反応がないようです。
>>155
すいませんサンプルソースまで書いてもらって、助かります。
私のソースもだいたいそのような感じなのですが、見直してみることにします。
>>156
有力情報有難うございます。
そちらの方にも尋ねてみることにします。
0158デフォルトの名無しさん
2009/11/09(月) 20:08:45どちらが先にクローズする仕様なの?
0159デフォルトの名無しさん
2009/11/09(月) 23:25:49>>158
http://www.orca.med.or.jp/receipt/tec/dev/soft/claim.rhtml
の(2)によると、送信した側がsocket closeと書いてあるようですので
こちら側(送信側)がCloseしなければいけないのかなと考えています。
0160デフォルトの名無しさん
2009/11/09(月) 23:38:250161デフォルトの名無しさん
2009/11/09(月) 23:41:31>>159のシーケンスをちゃんと嫁
0162デフォルトの名無しさん
2009/11/09(月) 23:45:18アホとしか
0163デフォルトの名無しさん
2009/11/10(火) 00:01:16これだとCloseイベントでcloseしたほうがいいかもしれない。
>>155のように
0164デフォルトの名無しさん
2009/11/10(火) 00:32:370165デフォルトの名無しさん
2009/11/10(火) 01:37:03送る側だけまずshutdown
読む側でEOFまで全て読み終わるのを確認してからclose
これはちゃんとやって
0166デフォルトの名無しさん
2009/11/10(火) 09:17:58厳しいながらもありがたい限りです
>>160
そちらの受信は確認しております。
>>161
アプリレイヤーとTCPの違いがまだよく分かっていないのですが、
そこの部分は調べてみます
>>163
ちょっとその手法でやってみます
>>165
shutdownはwinsockメソッドにはなく、
http://www.int21.co.jp/pcdn/vb/noriolib/vbmag/9802/winsock/
で見ました。全文読んでいないのでなんともいえませんが、
まだ使い方が不明なので調査してみます。
0167デフォルトの名無しさん
2009/11/10(火) 23:40:54> shutdownはwinsockメソッドにはなく、
何言ってるかわからない。
書く側だけまずshutdownしろってのは、
winsockのFAQの初心者向け項目に書いてあること。
0168デフォルトの名無しさん
2009/11/10(火) 23:47:480169デフォルトの名無しさん
2009/11/11(水) 00:04:43双方の FIN → FIN,ACK → ACK のどこまで出てるか見てみたら?
0170デフォルトの名無しさん
2009/11/11(水) 05:43:11お互い良くそれでプログラマって言えるよな。
0171デフォルトの名無しさん
2009/11/11(水) 18:13:12IdComponent,
IdTCPConnection,
IdTCPClient,
IdHTTP
IdException
このへんのコンポーネントってIndyですか?
0172デフォルトの名無しさん
2009/11/11(水) 18:18:280173デフォルトの名無しさん
2009/11/11(水) 18:27:53ありがとう
IdってIndyって意味だったのか
コンポーネントないからビルドできねぇ
0174デフォルトの名無しさん
2009/11/11(水) 23:35:50> CLOSE_WAITになったまま消えてくれません。
サーバ側のCLOSE_WAITは全く関係ない。お前の作ったクライアントがダメなだけ。
> 何か、ありがちなミスなどありましたらご指摘よろしくお願いします。
自分のバグを他人の所為だと思いたがる態度が、初心者にありがちな重大なミス。
bindしてるだろ。
0176デフォルトの名無しさん
2009/11/12(木) 07:44:31それじゃ3-wayハンドシェイクが成立しないだろ。可能だと主張するなら動作するサンプルコードを。
0177デフォルトの名無しさん
2009/11/12(木) 08:50:27RFC に双方 connect() 時のシーケンス載ってるが?
0178デフォルトの名無しさん
2009/11/12(木) 09:01:03RFC793 の 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.
0179デフォルトの名無しさん
2009/11/12(木) 09:25:14うわっ、強引。決めたんだからなおすな。
0180デフォルトの名無しさん
2009/11/12(木) 09:37:37違う違う。「実装者は双方同時 open の結果として一つ
しかコネクションが出来ないことに驚くかもしれないが、
これはそうなるように『設計』されているので直そうと
するな」ということ。
0181デフォルトの名無しさん
2009/11/12(木) 10:28:32なんで、そのように決めたんだろう。
という事は置いておいて、これは同時にconnectが発生した(例外的な)場合に関しての
規定であって、>>118が言ってるような狙ってできるってもんじゃないよね。
0182デフォルトの名無しさん
2009/11/12(木) 10:29:35>自分のバグを他人の所為だと思いたがる態度が、初心者にありがちな重大なミス
逆に自分のせいだと思って散々調べたら自分のせいじゃ無かったってのもよくある
まずは切り分けが大事と思い知らされた
0183デフォルトの名無しさん
2009/11/12(木) 10:44:42> 狙ってできるってもんじゃない
普通は RST が返るからってこと?
0184デフォルトの名無しさん
2009/11/12(木) 11:05:05>なんで、そのように決めたんだろう。
同じIPアドレス、ポート番号のペアを持つコネクション
は同時に複数存在できませんから。
0185デフォルトの名無しさん
2009/11/12(木) 11:18:530186デフォルトの名無しさん
2009/11/12(木) 11:22:01なるほど、接続するという選択肢を取るならそのように決めるしかないわけか。
接続しないという選択肢もあったわけだけど、そっちは採用しなかったと。
0187デフォルトの名無しさん
2009/11/12(木) 22:30:35四つ組みが決定している。一つの接続になるのが、設計上当然の帰結。
>>183
いや再送されたのと区別がつかない。
(IPタイムスタンプオプションとかない限り)
それに普通のOSではREUSEADDRしたら、
前のは無効になる。
0188デフォルトの名無しさん
2009/11/13(金) 10:31:370189デフォルトの名無しさん
2009/11/13(金) 11:26:240190デフォルトの名無しさん
2009/11/13(金) 12:06:33実際のコーディングはまったくできないと。
0191デフォルトの名無しさん
2009/11/13(金) 12:24:580192デフォルトの名無しさん
2009/11/13(金) 14:55:17そういうサイト作ると需要有るのか?
0193デフォルトの名無しさん
2009/11/13(金) 15:25:53> まさか>>128じゃないよね
>>128 で何か不足してる?
TCP/IP の同時 open は、よくある TCP/IP の状態遷移
図で通常サーバ側とクライアント側で違う経路を通ると
ころを両方ともクライアント側の遷移を通るんだから
>>128 であってる。
スティーブンス本のどれかで実際のプログラムと実行例
が載ってたよ。但し、双方の SYN が交差する位には充
分に遅い経路を使う必要があったと思う。
0194デフォルトの名無しさん
2009/11/13(金) 16:24:19listenしなくて良いのか?
0195デフォルトの名無しさん
2009/11/13(金) 16:35:49> listenしなくて良いのか?
listen したら駄目なんだけど?
0196デフォルトの名無しさん
2009/11/13(金) 16:48:04http://books.google.com/books?id=-btNds68w84C&pg=PA251
上で使われてる sock プログラムのソースコード。
http://www.icir.org/christian/sock.html
listen() を呼び出している servopen() は -s オプショ
ンが無いと実行されないけど上の例では -s ついてない
でしょ。
0197デフォルトの名無しさん
2009/11/14(土) 00:43:24確かに同時に実行するとconnect成功するね
・・・同時に実行しなければ繋がらないってのは、ちょっと面白いな
0198デフォルトの名無しさん
2009/11/14(土) 17:23:340199デフォルトの名無しさん
2009/11/14(土) 17:31:320200デフォルトの名無しさん
2009/11/14(土) 18:08:030201デフォルトの名無しさん
2009/11/14(土) 18:23:330202デフォルトの名無しさん
2009/11/15(日) 00:05:59動作するサンプルを。
0203デフォルトの名無しさん
2009/11/15(日) 01:21:09socket.h内のSOMAXCONNを1にしたらひどぅい目に遭いましたw
実装の書き換えまで手を出すのは正直無理ぽですね。
0204デフォルトの名無しさん
2009/11/16(月) 04:45:47このページを参考に1回connectに成功したらaspxファイルのヘッダとボディのデータを
分けて要求するプログラムを作ったのですがボディのデータを要求するとコネクションが切断されているのかread関数が0を返します。
close関数を使っていなくても1回データを要求したら切断されてしまうものなのでしょうか。ソースは次のレスに記載します。
0205デフォルトの名無しさん
2009/11/16(月) 04:48:30struct 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);
0206デフォルトの名無しさん
2009/11/16(月) 05:00:41if(read_size > 0){write(1,buf,size_of(buf))}
の行のsize_of(buf)はread_sizeでした。
すいません…
0207デフォルトの名無しさん
2009/11/16(月) 05:42:52RFC1945
1.1は2616
0208デフォルトの名無しさん
2009/11/16(月) 09:05:10HTTP/1.0はそのように決められている。
HTTP/1.1ではPersistent Connectionsというのがあるが、使い方はかなり難しい。
0209デフォルトの名無しさん
2009/11/16(月) 09:17:41リクエストとレスポンスを交互に繰り返すだけであれば。
終端だって、どうやって判断すればよいかちゃんとRFCに書いてある。
chunkの読み出しも、そのまま実装するだけ。
0210デフォルトの名無しさん
2009/11/16(月) 11:04:360211デフォルトの名無しさん
2009/11/17(火) 02:24:140212デフォルトの名無しさん
2009/11/17(火) 15:47:40お返事ありがとうございます。
RFC2616やグーグルしたところ、HTTP/1.1はHost: URLを記述しなければいけないとのことだったので
記述し、2回目のデータ要求ではConnection: Closeを記述したところ2回、データを要求することが出来ました。
2回目はBad Requestになってしまいますが。。
RFCを見て、少しやる気をなくしてしまいましたが
出来たらネットワークの勉強に励み、この問題をいつかは解決したいと思います。
ありがとうございました。
0213デフォルトの名無しさん
2009/11/20(金) 00:14:01pythonと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を使うのは間違ってますか?
0214デフォルトの名無しさん
2009/11/20(金) 03:25:470215デフォルトの名無しさん
2009/11/20(金) 06:15:52はい
0216デフォルトの名無しさん
2009/11/20(金) 07:06:200217デフォルトの名無しさん
2009/11/20(金) 08:36:47それ使えよ。
0218デフォルトの名無しさん
2009/11/20(金) 13:28:28つ ブロードキャストストーム
輻輳を検知するとポート綴じちゃうスイッチも有るよ。
0219デフォルトの名無しさん
2009/11/20(金) 18:32:47自サブネット内です。
>>215
はい
ありがとうございます
>>216
rootになっても変わりませんでした。
>>217
確かに/24で切ってるので、192.168.11.255も試したのですが変わりませんでした。
ハード的におかしいのかと思い、
192.168.11.4を持つマシン上で、サーバとクライアントを動かしたのですが、
結局受信しませんでした。
wiresharkでみるとパケットは観測されてたのですが・・・
0220デフォルトの名無しさん
2009/11/20(金) 18:44:370221デフォルトの名無しさん
2009/11/20(金) 19:02:55○ promiscuous
0222デフォルトの名無しさん
2009/11/20(金) 23:24:41受信側はどうバインドしてるの? 例えば'192.168.11.4’にバインドしてたらそのアドレスへのユニキャストしか受信出来ない。 ブロードキャストも受け取りたいならアドレスは'' (空文字列)でバインドしなければだめ。
0223デフォルトの名無しさん
2009/11/21(土) 19:20:27192.168.11.255にバインドするべきじゃないの?
0224デフォルトの名無しさん
2009/11/21(土) 19:21:120225デフォルトの名無しさん
2009/11/21(土) 19:39:220226デフォルトの名無しさん
2009/11/21(土) 19:50:510227デフォルトの名無しさん
2009/11/21(土) 19:56:400228デフォルトの名無しさん
2009/11/21(土) 19:57:530229デフォルトの名無しさん
2009/11/21(土) 20:06:44N88ベーシックの時代を思い出せ!
使ってるだけじゃだめなんだよ!
利用者全員がプログラマーにならなきゃ世の中は良くならない!
そうだろうみんな!!
0230デフォルトの名無しさん
2009/11/21(土) 20:07:390231デフォルトの名無しさん
2009/11/21(土) 22:21:39IPアドレスからgethostbyaddrでホスト名とってくるプログラムをVC++(まあなんでも出来るが)で組んだのだけれど、
もし取ってこれなかった場合
>初回の例外が発生しました: 0x000006BA: RPC サーバーを利用できません。
みたいなのが出力パネルに無視して平気?
一応host名がNULLだった時の退避路はあるし、エラーでプログラムが止まるわけじゃないんだけど
なんかわざわざ一回づつ排出するもんだから気になって
0232デフォルトの名無しさん
2009/11/21(土) 23:24:510233デフォルトの名無しさん
2009/11/22(日) 02:37:25http://support.microsoft.com/default.aspx?scid=kb;en-us;105675
0234デフォルトの名無しさん
2009/11/24(火) 19:49:11受信はされるのでしょうか?
そこから、recvformで取り出すといった感じなのでしょうか?
データを一定間隔で送信し、送信した結果複数の個所からデータが返ってくる
とした場合、最初に返ってきたデータだけをデータとして取り込みたいのですが
こういった場合、どうするのが最適でしょうか?
0235デフォルトの名無しさん
2009/11/24(火) 20:32:30自分のIPが192.168.11.4でも recvfromで192.168.11.100 宛のデータも受信できるのでしょうか?
(ポート等は同じで、ARPで関連づけておくとして)
0236デフォルトの名無しさん
2009/11/24(火) 20:44:280237デフォルトの名無しさん
2009/11/24(火) 21:35:410238デフォルトの名無しさん
2009/11/24(火) 21:42:510239デフォルトの名無しさん
2009/11/24(火) 22:43:160240デフォルトの名無しさん
2009/11/24(火) 22:56:11ARPテーブル操作して、自分のmac向けに別のIPを関連づけたら届きますよね
そこで0.0.0.0をbindしておけば自分の今のIPとは違うデータまで受信できるということでしょうか?
0241デフォルトの名無しさん
2009/11/24(火) 23:30:36MAC判別はネットワークチップの機能だよ
0242デフォルトの名無しさん
2009/11/24(火) 23:37:24すみません、よくわかってないのですが
MAC判別がどう関係あるのでしょうか?
宛先mac自体は、本来の宛先macをarpテーブルで指定してやりますよね
0243デフォルトの名無しさん
2009/11/24(火) 23:42:42それが受信できるかどうかはIP層の実装仕様次第じゃないのか?
普通は出来ないと思うが・・・
0244デフォルトの名無しさん
2009/11/24(火) 23:51:530245デフォルトの名無しさん
2009/11/25(水) 00:00:49でもmacアドレスはあってる、IP層のIPも送信元がARPテーブル操作してあってる
から届くはずだとはおもうんですが
0246デフォルトの名無しさん
2009/11/25(水) 00:52:43どこのマシンのARPテーブルいじる気だよ。毒入りarp投げるのか?
オレの管理下で発見したら接続禁止だぞ。上司が土下座しなけりゃつなげさせない。
> そこで0.0.0.0をbindしておけば自分の今のIPとは違うデータまで受信できるということでしょうか?
IPってゆうな。クズ。
例え送信元のARPテーブル操作してパケットが届いたとしても出来ない。
0.0.0.0は自マシンのアドレスに対するワイルドカードだからだ。
もう一回言っておく。IPってゆうな。クズ。
0247デフォルトの名無しさん
2009/11/25(水) 01:18:53RawIPでも使え
0248デフォルトの名無しさん
2009/11/25(水) 01:28:280249デフォルトの名無しさん
2009/11/25(水) 01:37:020250デフォルトの名無しさん
2009/11/25(水) 01:45:49IPは知的財産の省略形として稀に使うぐらい
0251デフォルトの名無しさん
2009/11/25(水) 02:01:570252デフォルトの名無しさん
2009/11/25(水) 03:27:17環境による
>>240
環境による
0253デフォルトの名無しさん
2009/11/25(水) 06:53:480254デフォルトの名無しさん
2009/11/25(水) 07:32:45>>252
さんがいうには、環境によってはできるとのことですが
0255デフォルトの名無しさん
2009/11/25(水) 07:33:570256デフォルトの名無しさん
2009/11/25(水) 08:02:59かなりめずらしい環境でないか? 組み込み系のマイナーな
スタックとか?
0257デフォルトの名無しさん
2009/11/25(水) 17:54:55今まで使い方を間違えていたらしく、あちこちのサンプルでは
(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が自動的にセットされる」とかでしょうか?
0258デフォルトの名無しさん
2009/11/25(水) 18:11:240259デフォルトの名無しさん
2009/11/25(水) 20:36:58受信はされるのでしょうか?
そこから、recvformで取り出すといった感じなのでしょうか?
データを一定間隔で送信し、送信した結果複数の個所からデータが返ってくる
とした場合、最初に返ってきたデータだけをデータとして取り込みたいのですが
こういった場合、どうするのが最適でしょうか?
0260デフォルトの名無しさん
2009/11/25(水) 20:48:26スタックを自作すれば、L1レベルから入ってきたデータを好きなように取り込めるのでしょうか?
0261デフォルトの名無しさん
2009/11/25(水) 21:07:50MicroSoftのサイトの情報見ても全然かゆいところに手が届かない
0262デフォルトの名無しさん
2009/11/25(水) 21:23:21TCPだとそうだね。acceptしてからだけど。
他のは捨てたいって事なら読んでから捨ててクローズすればいい。
読まずに捨てたいってことなら、それはやらない方がいい。
理由はFAQ読んで。上にも話題に出てる。
0263デフォルトの名無しさん
2009/11/25(水) 21:24:03> スタックって自作できるのでしょうか?
あなたの能力次第。
0264デフォルトの名無しさん
2009/11/25(水) 21:25:05お前はまずProgramming UNIX Socket FAQを全部嫁。
>>260
できないと思うのなら、それはお前の知識が無いからだ。
>>261
ないんじゃないの?何が知りたいの?
0265264
2009/11/25(水) 21:25:510266デフォルトの名無しさん
2009/11/25(水) 22:10:46FAQよんだのですが、bindした時点でデータがきているかはのってないのですが
0267デフォルトの名無しさん
2009/11/25(水) 22:38:57自覚して無いかもしれないが、日本語に難ありすぎて意味不明
0268デフォルトの名無しさん
2009/11/25(水) 22:42:18「bindしたあと、recvfromをする前に到着したメッセージは
全て、その後の recvfrom で読み出せるのか?」
と質問したいんだろう
0269デフォルトの名無しさん
2009/11/25(水) 23:10:46BSDのドライバのソースを読む
Linuxはダメ!絶対
0270デフォルトの名無しさん
2009/11/26(木) 09:12:07>「リスニングソケットにFD_READなどを設定しておくと、そのリスニングソケットでacceptされたソケット全部にFD_READが自動的にセットされる」
これが仕様に基づく正しい動作であることを、英語版MSDNページで確認しました。
0271デフォルトの名無しさん
2009/11/26(木) 11:52:310272デフォルトの名無しさん
2009/11/26(木) 11:55:16プロトコルスタックも作れるよ
0273デフォルトの名無しさん
2009/11/27(金) 00:25:46クッキーは保存してあるのにリクエストに含まれてこない。
本家サイトみても、”新しくクッキーを保存することはないよん”としか書いてなくてよくわからん。
0274デフォルトの名無しさん
2009/11/27(金) 07:14:43ブラウザから送られてきたhostヘッダの部分を接続先にして
データを受け流す、みたいな感じでいいのか?
その場合httpsの通信はどうするの?
0275デフォルトの名無しさん
2009/11/27(金) 07:50:130276デフォルトの名無しさん
2009/12/01(火) 22:58:35そのソケット宛に、VBのwinsockでブロードキャストで送信しようとすると
ローカルコンピュータからは利用できませんとエラーがでたり、
二つのパソコン用意して、同様にVBからHUBを介してそのソケット宛にデータ送ろうとすると
片方はブロードキャストでおくれるのだが、もう片方はデータすらおくれない
同じネットワークにブロードキャスト送信できる数とかに制限あるのかな
0277デフォルトの名無しさん
2009/12/02(水) 00:39:07WinsockやVBについては知らないので他の人お願い。
0278デフォルトの名無しさん
2009/12/02(水) 00:50:180279デフォルトの名無しさん
2009/12/02(水) 04:36:180280デフォルトの名無しさん
2009/12/02(水) 13:41:200281デフォルトの名無しさん
2009/12/02(水) 15:18:330282デフォルトの名無しさん
2009/12/02(水) 17:14:150283デフォルトの名無しさん
2009/12/02(水) 19:57:05これってどんな原因が考えられますか?
0284デフォルトの名無しさん
2009/12/02(水) 20:16:18その件に関して我々は原因を追究するべきではない
0285デフォルトの名無しさん
2009/12/02(水) 20:24:28天使の取り分
0286デフォルトの名無しさん
2009/12/02(水) 21:46:07tcp: osがどうにかしてくれる。
udp: 自分でどうにかするか諦める。
0287デフォルトの名無しさん
2009/12/02(水) 21:52:35でも頻繁に損失するものなのかなーとおもいまして
何回に1回とか大体の確率っておおよそでいいからわかるのかなぁ
0288デフォルトの名無しさん
2009/12/02(水) 21:56:490289デフォルトの名無しさん
2009/12/02(水) 22:01:07仕組みはよくわからんが、よく通信できてるもんだと関心するほどだ
0290デフォルトの名無しさん
2009/12/02(水) 22:51:420291デフォルトの名無しさん
2009/12/02(水) 23:15:48同時に投げてるならぶつかるんじゃないのか?
0292デフォルトの名無しさん
2009/12/03(木) 00:03:330293デフォルトの名無しさん
2009/12/03(木) 00:11:30久しぶりに思い出したんで忘れかけてたよ
0294デフォルトの名無しさん
2009/12/03(木) 00:22:50お前等スイッチングハブの「スイッチ」の意味知らないだろ。
パーフェクトシャッフルとかバタフライネットワークとか。
0295デフォルトの名無しさん
2009/12/03(木) 00:25:44末端のTVとDVDレコ用だけど・・・
0296デフォルトの名無しさん
2009/12/03(木) 00:36:53UDPならパケットの衝突か消失がありうるということ?
0297デフォルトの名無しさん
2009/12/03(木) 00:44:04ノイズやバッファオーバーなど色々あるんじゃない?
UDPがそれらに保障されてないんだから、プログラマとしてはそれを考慮してプログラムを組むしかない
0298デフォルトの名無しさん
2009/12/03(木) 00:50:43ループバックインターフェースでも消失はありうる。
0299デフォルトの名無しさん
2009/12/03(木) 01:00:56バッファオーバーはデータのサイズを小さくもてば少なくなるのかなぁ
ノイズでそんなに頻繁になくなるのかな PC-PCとかでも
1分間に10回ほど消失するって大きい?
0300デフォルトの名無しさん
2009/12/03(木) 01:20:10クロックだのなんだの、下位の仕事してたころにはこれでいいのかなと疑問に思いながら作ってたもんだ…
もちろん通信の失敗を考慮してプログラムしてたが
0301デフォルトの名無しさん
2009/12/03(木) 01:52:470302デフォルトの名無しさん
2009/12/03(木) 02:02:470303デフォルトの名無しさん
2009/12/03(木) 02:05:580304デフォルトの名無しさん
2009/12/03(木) 02:10:04然パケットは落ちる。忙しい状況は自分のプログラムと
は無関係に発生するかも知れない。TCP は再送する。
UDP は再送しない。
0305デフォルトの名無しさん
2009/12/03(木) 08:35:33簡単には手に入らないが価値をしらないバカの手元にあるのはもったいない。
0306デフォルトの名無しさん
2009/12/03(木) 09:22:540307デフォルトの名無しさん
2009/12/03(木) 09:24:490308デフォルトの名無しさん
2009/12/03(木) 11:12:41ping 1時間くらい投げ続けてlossどれくらい?
0309デフォルトの名無しさん
2009/12/03(木) 17:30:01よくある「"ABCDEFGH"と送信しても"ABC""DE""FGH"と3回で受信されることもある」という例ですが、
この例は送信がTCP/UDPレベルで計3パケットに分割されたということなるのでしょうか?
0310デフォルトの名無しさん
2009/12/03(木) 17:31:36途中の道かもしれない
受信かもしれない
0311デフォルトの名無しさん
2009/12/03(木) 17:33:060312デフォルトの名無しさん
2009/12/03(木) 19:10:150313デフォルトの名無しさん
2009/12/03(木) 19:25:440314デフォルトの名無しさん
2009/12/03(木) 22:20:48UDPならAPIレベルでは分割されないよ。
データグラム通信を提供するサービスだから。
0315デフォルトの名無しさん
2009/12/04(金) 00:44:49絶対はないから、ちゃんと回避手順を考えてプログラム組むべき。
エラーになったらどうするのか。想定してなかったので、そのまま終了じゃゴミ。
0316デフォルトの名無しさん
2009/12/04(金) 22:21:180317デフォルトの名無しさん
2009/12/11(金) 00:06:40どうやって作ればいいのでしょうか?
書籍とかあれば教えてください
0318デフォルトの名無しさん
2009/12/11(金) 00:09:040319デフォルトの名無しさん
2009/12/11(金) 00:10:070320デフォルトの名無しさん
2009/12/11(金) 00:17:04透過プロキシ+多層です
0321デフォルトの名無しさん
2009/12/11(金) 00:20:31サイバー犯罪幇助で通報しますた
0322デフォルトの名無しさん
2009/12/11(金) 02:48:290323デフォルトの名無しさん
2009/12/11(金) 03:10:330324デフォルトの名無しさん
2009/12/11(金) 03:24:38http://www.google.co.jp/search?q=透過プロキシ
0325デフォルトの名無しさん
2009/12/11(金) 09:08:360326デフォルトの名無しさん
2009/12/11(金) 12:47:22文字列が途切れて文字列操作に支障が出ることがあるんだが
バッファサイズデカくするしか無いの?
0327デフォルトの名無しさん
2009/12/11(金) 12:49:030328デフォルトの名無しさん
2009/12/11(金) 17:31:06n回受信→連結 してから操作しちゃだめなん?
多分 TCP だと思うが、
分割されることだって(1回の send なのに 受け側は recv 2回になった)あるし
まとまることだって(2回の send が、受け側は recv 1回でまとまって読めた)ある
0329デフォルトの名無しさん
2009/12/11(金) 19:04:45バッファサイズをでかくするか、
自分でバッファリングするなりしてやらないとダメだよ
0330デフォルトの名無しさん
2009/12/11(金) 22:14:240331デフォルトの名無しさん
2009/12/11(金) 22:31:270332デフォルトの名無しさん
2009/12/11(金) 23:39:31なんとか層とかいうレベルの処理をするんだっけ?
0333デフォルトの名無しさん
2009/12/11(金) 23:43:08それなら仕方ないな
0334デフォルトの名無しさん
2009/12/11(金) 23:45:250335デフォルトの名無しさん
2009/12/12(土) 00:13:270336デフォルトの名無しさん
2009/12/12(土) 00:35:31そのサイズって、たとえば1400バイトのデータが送られてきて
recvfromの引数でサイズを400で指定してやると、400バイトだけ
バッファにため込みますよね
残りの1000バイトはどうなるのでしょうか?
次にrecvfromしたときに400バイトだけそこからまたよみこむのでしょうか?
0337デフォルトの名無しさん
2009/12/12(土) 00:40:060338デフォルトの名無しさん
2009/12/12(土) 00:40:470339デフォルトの名無しさん
2009/12/12(土) 01:02:15残りの1000バイトは粉みじんになって死んだ・・・
0340デフォルトの名無しさん
2009/12/12(土) 01:04:352回送信されたあとに、recvfromで400バイト読んだとすると、
残りのデータはすべて消えるのでしょうか?
あるいは、3000バイト読めば全て読めるということでしょうか
0341デフォルトの名無しさん
2009/12/12(土) 01:07:440342デフォルトの名無しさん
2009/12/12(土) 01:08:571回目の送信が1000バイト、2回目が400バイトだったとしよう。
1回目を400バイトのバッファで受信したら、残り600バイトはパァだ。
2回目の400バイトは・・・おめでとう、すべて受信出来たな。
0343デフォルトの名無しさん
2009/12/12(土) 01:09:54ttp://www.google.co.jp/search?q=recvfrom+受信バイト
0344デフォルトの名無しさん
2009/12/12(土) 01:10:10Opera使いか?
0345デフォルトの名無しさん
2009/12/12(土) 01:13:520346デフォルトの名無しさん
2009/12/12(土) 01:14:35イミフ
0347デフォルトの名無しさん
2009/12/12(土) 04:10:17届かなきゃ、再送するしか無い。まあ再送しまくると余計にルータが辛く成って捨てられるけどなw
お利口なルータは捨てたら一応icmpで通知はしてくれる。ファイヤウォールとかでicmp捨ててたら当然届かないけどw
0348デフォルトの名無しさん
2009/12/12(土) 11:14:57バッファって、どこのバッファですか?
0349デフォルトの名無しさん
2009/12/12(土) 12:07:31あなたがデータを受け取るためにrecvfromの第2引数に指定したバッファ
0350デフォルトの名無しさん
2009/12/12(土) 12:34:01どこで規定されてたっけ?defineとかあった?
あと、これは勉強不足から来る質問なんだけど
IPv6でも65536-20-8=65516が最大サイズでおk?
0351デフォルトの名無しさん
2009/12/12(土) 15:40:03ありがとうございます
ただ、1000バイトと400バイトのデータが送られてきて
ソケットのバッファ?にたまってますよね
それをrecvfromで400バイトずつ取り出すと、残り600バイトが
パーになるとのことですが、
どうやってrecvfromは、1回目の1000バイトと2回目の400バイトを
別として見分けるのでしょうか
0352デフォルトの名無しさん
2009/12/12(土) 15:43:230353デフォルトの名無しさん
2009/12/12(土) 15:43:570354デフォルトの名無しさん
2009/12/12(土) 15:45:55取り出したらああああああああああああああssssssss
見分けるというか、パケット単位で管理してる。
recvfromでパケットごとに取り出すので
取り出す際に余った分は破棄される
0355デフォルトの名無しさん
2009/12/12(土) 15:52:280356デフォルトの名無しさん
2009/12/12(土) 15:58:180357デフォルトの名無しさん
2009/12/12(土) 18:07:410358デフォルトの名無しさん
2009/12/12(土) 18:10:110359デフォルトの名無しさん
2009/12/12(土) 18:11:570360デフォルトの名無しさん
2009/12/12(土) 18:24:35> どうやってrecvfromは、1回目の1000バイトと2回目の400バイトを
> 別として見分けるのでしょうか
>>354 が言う通りパケット毎に管理してる。
そもそも recvfrom() は引数で送信元アドレス/ポート
が取得できるだろ。連続して違う相手から受信したらデー
タが混じるとでも思ってるのか?
0361デフォルトの名無しさん
2009/12/12(土) 19:46:46このサイズ以上はOS側で落とされるな。
0362デフォルトの名無しさん
2009/12/12(土) 21:04:260363デフォルトの名無しさん
2009/12/12(土) 21:13:42ttp://www.google.co.jp/search?q=proxy+作り方
0364デフォルトの名無しさん
2009/12/12(土) 21:14:06recvfromがまとめてパケットを1回でとりこむかなとおもいまして・・・
そういう部分は、recvfromの関数がソケットと関連づけられてつくられてるのかな
0365デフォルトの名無しさん
2009/12/12(土) 21:24:48某ネトゲチートツールみたいに
0366デフォルトの名無しさん
2009/12/12(土) 21:38:12自分で答えを書いているじゃないか。
0367デフォルトの名無しさん
2009/12/12(土) 21:47:590368デフォルトの名無しさん
2009/12/12(土) 23:20:21Windows? Linux?
Linuxなら結構簡単
0369デフォルトの名無しさん
2009/12/15(火) 21:34:533000回くらいで、ネットワーク自体から切断されます
ISPにも問い合わせましたが、このプログラムを止めてくれと言うだけで
原因がはっきりしません
ループ文使って sprintf( http, "http://....%d.jpg", i );
とURLを作ってるのですが
なにかしらの暗黙のルールなどあるのでしょうか?
WindowsAPI使ってます
0370デフォルトの名無しさん
2009/12/15(火) 21:48:300371デフォルトの名無しさん
2009/12/15(火) 21:55:11阿呆かお前は
ネットワークプログラムのテストするなら
まずはローカルで試してからだろボケ
致命的なバグを抱えているかも知れんのに
常識を疑われてもしょうがないレベルだな
0372デフォルトの名無しさん
2009/12/15(火) 22:01:370373デフォルトの名無しさん
2009/12/15(火) 23:24:590374デフォルトの名無しさん
2009/12/16(水) 00:31:54ネットランナーでも買っとけ
0375デフォルトの名無しさん
2009/12/16(水) 00:39:10> 原因がはっきりしません
しとるがなw
0376デフォルトの名無しさん
2009/12/16(水) 01:07:36俺が管理者なら攻撃とみなしてISPに通報するね
0377デフォルトの名無しさん
2009/12/16(水) 01:11:330378デフォルトの名無しさん
2009/12/16(水) 01:14:44ISP インターネット サーバー プロトコル
0379デフォルトの名無しさん
2009/12/16(水) 02:42:06無知を晒して楽しいか?
0380デフォルトの名無しさん
2009/12/16(水) 07:19:110381デフォルトの名無しさん
2009/12/16(水) 07:23:39役に立たんゴミども
0382デフォルトの名無しさん
2009/12/16(水) 09:44:38とりあえずどうせ、1鯖へのコネクションは同時に2本まで。というルールすら守ってないんだろ・・・
0383デフォルトの名無しさん
2009/12/16(水) 09:51:31パイプライニングしたりするべきだが...
0384デフォルトの名無しさん
2009/12/16(水) 12:02:10相手の許容範囲で出来る事を遣るしか無い。
0385デフォルトの名無しさん
2009/12/16(水) 15:34:03>同時に2本まで。というルールすら
>>369 に、「同時にコネクション張る」甲斐性があるとは思えません。
0386デフォルトの名無しさん
2009/12/16(水) 16:44:19テンプレが返ってきたお(;ω;)
お問合せいただきました事象によるネットワークからの切断に
つきましてですが、大変申し訳ございませんが弊社で判断する
ことは困難な状況です。
うんこ様のご利用いただいております電話回線に関しまして、通常時に
故障などが発生した場合には、フレッツサービスに関するお問合せ先が
ございますので、下記フリーダイヤル番号までご連絡いただきますよう
よろしくお願い致します。
とりあえず、コネクション2つ以上とかアホ言ってるやつは士ね
0387デフォルトの名無しさん
2009/12/16(水) 17:04:160388デフォルトの名無しさん
2009/12/17(木) 00:38:130389デフォルトの名無しさん
2009/12/17(木) 03:17:170390デフォルトの名無しさん
2009/12/17(木) 09:10:01警告はおろか、実際に査察が来るレベルだぞ
0391デフォルトの名無しさん
2009/12/17(木) 11:23:39その話聞くまで都市伝説だと思ってたよ俺も
0392デフォルトの名無しさん
2009/12/17(木) 11:25:580393デフォルトの名無しさん
2009/12/17(木) 11:40:10一般的に考えるとJPNICからってのが胡散臭い感じがするけど
それが本当なら恐らくmrtgみたいなことしようとして主要IXとかに
pingしまくって怒られたって話なんじゃないかと。
0394デフォルトの名無しさん
2009/12/17(木) 11:45:150395デフォルトの名無しさん
2009/12/17(木) 12:10:060396デフォルトの名無しさん
2009/12/17(木) 12:34:03chargenポートに繋いだもんだったw
0397デフォルトの名無しさん
2009/12/17(木) 12:41:220398デフォルトの名無しさん
2009/12/17(木) 12:41:54たしか相手先の電話番号にダイヤルアップで直に接続してたんだよね?
0399デフォルトの名無しさん
2009/12/17(木) 12:46:20バイナリをやりとりする時は XMODEM その他のプロトコルで。
0400デフォルトの名無しさん
2009/12/17(木) 13:03:500401デフォルトの名無しさん
2009/12/17(木) 13:04:550402デフォルトの名無しさん
2009/12/17(木) 13:07:13telnetとかわらん感じだが
0403デフォルトの名無しさん
2009/12/17(木) 13:09:02今でもやろうと思えばパソコン通信ってできるの?
0404デフォルトの名無しさん
2009/12/17(木) 13:09:33モデムの上位は無手順。
基本はデータをただ流すだけだけど、
スタートビット、ストップビット、パリティビットなどの取り決めがある。
0405デフォルトの名無しさん
2009/12/17(木) 13:11:120406デフォルトの名無しさん
2009/12/17(木) 13:12:03そのビットとかはプログラム側で処理するの?
0407デフォルトの名無しさん
2009/12/17(木) 13:14:21ただ設定をちょこっと命令するだけ
0408デフォルトの名無しさん
2009/12/17(木) 13:15:26ちったあ手前で調べろや禿。つーか、シリアルI/Oも知らんのか。
最近のPCは非搭載なのが増えたせいか?
0409デフォルトの名無しさん
2009/12/17(木) 13:16:030410デフォルトの名無しさん
2009/12/17(木) 13:16:510411デフォルトの名無しさん
2009/12/17(木) 13:17:100412デフォルトの名無しさん
2009/12/17(木) 13:20:220413デフォルトの名無しさん
2009/12/17(木) 13:26:14USBばっかだし(USBもシリアルじゃんって言わないの)
0414デフォルトの名無しさん
2009/12/17(木) 13:26:320415デフォルトの名無しさん
2009/12/17(木) 13:42:58最新のLinuxで毎日使う端末画面はボーレート38400bps
0416デフォルトの名無しさん
2009/12/17(木) 13:48:440417デフォルトの名無しさん
2009/12/17(木) 14:01:00USBシリアルデバイスって知らないの?
USBは上位プロトコルは既存のプロトコルを採用している。
0418デフォルトの名無しさん
2009/12/17(木) 14:08:530419デフォルトの名無しさん
2009/12/17(木) 14:13:000420デフォルトの名無しさん
2009/12/17(木) 14:42:31AVRでUARTとMAX232でPCの232Cとシリアル通信したことあるよ。
0421デフォルトの名無しさん
2009/12/17(木) 15:02:05USBシリアルデバイスがデータリンク層でシリアル型プロトコルであることは別。
0422デフォルトの名無しさん
2009/12/17(木) 15:32:150423デフォルトの名無しさん
2009/12/17(木) 15:35:370424デフォルトの名無しさん
2009/12/17(木) 15:37:05HP-IBとかそういうのは構わないんじゃないの
0425デフォルトの名無しさん
2009/12/17(木) 15:40:530426デフォルトの名無しさん
2009/12/17(木) 21:16:440427デフォルトの名無しさん
2009/12/17(木) 23:57:390428デフォルトの名無しさん
2009/12/18(金) 10:10:200429デフォルトの名無しさん
2009/12/18(金) 13:26:24他人のバグなら7秒で解決する。
0430デフォルトの名無しさん
2009/12/20(日) 10:57:32では、デバッグプロセスをもう一度見てみよう。
0431デフォルトの名無しさん
2009/12/21(月) 00:01:19エスパーが質問に答えるスレ
http://pc12.2ch.net/test/read.cgi/tech/1187922645/
どうかお帰り下さい
0432デフォルトの名無しさん
2009/12/21(月) 18:30:510433デフォルトの名無しさん
2009/12/22(火) 01:54:360434デフォルトの名無しさん
2009/12/22(火) 02:28:360435デフォルトの名無しさん
2009/12/22(火) 03:10:35ここ何年かは潰してないだろ!
0436デフォルトの名無しさん
2009/12/26(土) 17:17:14なんかエラーが出る件
WSAStartupはメインで1度呼ぶだけでいいんだよね?
0437デフォルトの名無しさん
2009/12/26(土) 23:56:55はい
0438デフォルトの名無しさん
2009/12/27(日) 12:54:520439デフォルトの名無しさん
2009/12/27(日) 14:04:18HTMLフォームにキーワードを入れてクリックする処理
たとえば http://www1.axfc.net/uploader/Sc/so/67614
のようなサイトで、ファイルをダウンロードするにはキーワードを入れる必要があります
今回のサンプルでは test といれてクリックすればダウンロードできます
これをプログラムで処理したいのです
短く言うと
フォームにキーワードを入れて、クリックする処理をプログラムで実現したい
C/C++で処理したいと考えてます
サンプルソースなど教えていただけないでしょうか?
OSはWindowsです
0440デフォルトの名無しさん
2009/12/27(日) 14:18:28キーワードは固定なのか?
ネットワークプログラミングスレでその質問をするということは、
まずソケットの扱い方とHTTPの仕様を理解しなければならないな
0441デフォルトの名無しさん
2009/12/27(日) 14:39:02IEコンポでも使えばいいよ
0442デフォルトの名無しさん
2009/12/27(日) 14:58:15この辺で十分だよ
http://www.happy2-island.com/vbs/cafe02/capter00701.shtml
0443デフォルトの名無しさん
2009/12/27(日) 15:01:39libcurl使え
0444デフォルトの名無しさん
2009/12/27(日) 15:05:47スレを勃てるまでもないC/C++の質問はここで 13
http://pc12.2ch.net/test/read.cgi/tech/1260532772/
C/C++の宿題片付けます 133代目
0445デフォルトの名無しさん
2009/12/27(日) 16:24:461)メインスレッドで sock=accept() −> INVALID_SOCKETではない
2)メインスレッドで sockを別スレッドに渡す
3)別スレッドで event = WSACreateEvent();
4)別スレッドで WSAEventSelect(sock,event,...) −> SOCKET_ERROR 発生(WSAGetLastError()は10038)
という状態が起きます。
メインスレッドでは accept()後、別スレッドに処理を渡してすぐに戻る仕様です。
また、別スレッド管理は空いているスレッドがなければ作成、アイドル中のスレッドがあればそれを使用、
接続中のスレッドが3コになったら、空きができるまでaccept()には戻りません。
同時に2つ以上の接続要求が来なければ、問題なく動作しているようなのですが接続要求が連続してくると上記のような症状が発生します。
原因になりそうなことが分かる方はいらっしゃいますか?
0446デフォルトの名無しさん
2009/12/27(日) 17:08:560447デフォルトの名無しさん
2009/12/27(日) 17:17:37それを調べる事から調査が始まるのではないかと。
0448デフォルトの名無しさん
2009/12/27(日) 18:23:22デバッグ用にコードを仕込んで確認しました。
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.
です。
有効なソケットではないという感じです。
0449445
2009/12/27(日) 23:10:32この部分を1コに変更する(つまり、ひとつの接続が完了するまで次のaccept()には戻らない)と上記のようなエラーは発生しなくなります。
0450デフォルトの名無しさん
2009/12/28(月) 13:18:33スレッドで読んでる最中に上書きしちゃてるとか
0451デフォルトの名無しさん
2009/12/28(月) 14:54:36FD_ISSETは使うわなくていいんだよな?
0452デフォルトの名無しさん
2009/12/28(月) 15:17:55エラー要因はちゃんと見とけよ
割り込みだったら待ちなおしだ
0453445
2009/12/28(月) 18:06:48SOCKET型変数を値渡ししています。
どこかで上書きしちゃっている可能性も考えたので>>448で実験していましたが
エラー発生時のメインスレッドのsock(SOCKET型) と値渡ししたsock(SOCKET型) は同じ数値でした。
また>>445の1〜4のうち、1と2の間でも、acceptの戻り値がINVALID_SOCKETであるかどうかの確認を行っています。
このときにはINVALID_SOCKETではないのに、別スレッドに渡した後のWSAEventSelect()やWSAEnumNetworkEvents()でSOCKET_ERRORになります。
SOCKET_ERRORの時はif(WSAGetLastError()==WSAEWOULDBLOCK)...の処理を入れてあります。
0454デフォルトの名無しさん
2009/12/28(月) 18:39:560455デフォルトの名無しさん
2009/12/28(月) 18:41:34見直してみてはどうかな
第一引数のソケットは正しくても WSAENOTSOCKが返ることも
あるみたいだし
http://groups.google.co.jp/group/microsoft.public.win32.programmer.networks/browse_thread/thread/f7cf0ce6e7e2aefa
0456デフォルトの名無しさん
2009/12/28(月) 22:47:310457445
2009/12/29(火) 00:06:22ありがとうございます。
リンク先のURLはWSAEventSelect(...)の2番目の引数はWSAEVENT*ではなく、WSAEVENTだよってことですよね?
(ソースはWSAEVENT**を渡そうとしているようですが)
>第一引数のソケットは正しくても WSAENOTSOCKが返ることもあるみたいだし
SOCKET_ERRORを返した場合でも、一定時間待機後リトライするようにしたところ、成功することがあるということが分かりました。
それでもまだ失敗する場合もあるようですが、かなり改善しました。
いろいろ試してみます。
>>456
それはないと思うのですが。
スレッド間で異なる値のソケットを持っていますし、アドレスで渡してはいないので別スレッドのソケットを参照してしまうこともないです。
スレッド間の排他制御以前の問題だと思います。
0458デフォルトの名無しさん
2009/12/29(火) 08:27:42> スレッド間の排他制御以前の問題だと思います。
自分のコードが間違っていると言う考えには至らず、システムに原因があると考える、
典型的な初心者。
100%に近い確率でお前のコードのどこかが、SOCKETを無効にしているか無効なソケット
を渡されたのをチェックせず見逃している。
0459デフォルトの名無しさん
2009/12/29(火) 10:29:25>エラー発生時のメインスレッドのsock(SOCKET型) と値渡ししたsock(SOCKET型) は同じ数値でした。
それは、acceptの戻り値と一致するのかな、っと。
0461445
2009/12/29(火) 18:33:55>自分のコードが間違っていると言う考えには至らず、システムに原因があると考える、
違いますね。
排他制御以前に自分の「winsock2の取り扱い方」に問題があると思っています。
>>460
>メインスレッドのsock(SOCKET型)
これがacceptの戻り値です。
0462デフォルトの名無しさん
2009/12/29(火) 19:09:11ぐだぐだ言ってねぇでいいからSOCKETを渡してるとこと受け取ってるとこをmutexでくくれ。
話はそれからだ
0463デフォルトの名無しさん
2009/12/29(火) 19:29:44socket, acceptでSOCKET作る。使う。閉じる。これだけなのに使いこなせないとは
よほどのヘボということになるが。
0464デフォルトの名無しさん
2009/12/29(火) 19:34:22趣味ならしょうがないというか、よくある話でしょう。
0465デフォルトの名無しさん
2009/12/29(火) 22:03:570466デフォルトの名無しさん
2009/12/29(火) 22:26:020467デフォルトの名無しさん
2009/12/29(火) 22:44:110468デフォルトの名無しさん
2009/12/29(火) 22:47:400469デフォルトの名無しさん
2009/12/30(水) 02:50:220470デフォルトの名無しさん
2009/12/30(水) 11:49:290471デフォルトの名無しさん
2009/12/30(水) 12:04:370472デフォルトの名無しさん
2009/12/30(水) 15:49:10最低のゴミクズのチンカス野郎のあつまりですよ(^-^)
0473デフォルトの名無しさん
2009/12/30(水) 15:52:370474デフォルトの名無しさん
2009/12/30(水) 16:01:04あなたのことですよ(^-^)
0475デフォルトの名無しさん
2009/12/30(水) 19:30:21> SOCKET_ERRORの時はif(WSAGetLastError()==WSAEWOULDBLOCK)...の処理を入れてあります。
こういうWSAGetLastErrorの使い方されれると、
ドキュメントに書いてあること守っているかどうか気になるなあ。
0476デフォルトの名無しさん
2009/12/31(木) 06:13:07ぱくられる、たたかれる、異常なほどの知識をもったキチガイがくる
のいずれかに該当するので結局オープンにしない
そして、車輪の再開発はまた繰り返される
これが日本のクオリティ
0477445
2010/01/03(日) 00:45:04別の接続で(>>445とは関係のない部分)のミスだった。
別の接続がソケットを使用し、ある条件によって即座にclosesocket()する場合としない場合があるのだけど
closesocket()した場合でも、その後オブジェクトの破棄時にまたclosesocket()を呼び出していることが原因だった。
最初のclosesocket()によって開放したソケット(と同じ値)を>>445のサーバが再利用するようになったときに
オブジェクトの破棄時にまたclosesocket()を呼び出したせいでサーバが取得したソケットを無効にしてしまっていたようでした。
0478デフォルトの名無しさん
2010/01/04(月) 13:22:25http proxyを作りたいのですが、Keep-Aliveのセッションに流れているリクエスト間の及び
レスポンス間を検出をする効率的な方法を教えてください
Content-Lengthヘッダは必須ではないようですし
1Byteづつシフトさせてある程度の量を読んでリクエストライン/ステータスラインを
検知するような方法だとbody内等に類似の文字列が含まれた場合に
意図しない動作をする可能性が考えられます
(検知に必要なリソースが増える上に遅くなるので避けたいと言うのもあります)
・・・どうしても不確定要素が排除できない・・・(´・ω・`)
よろしくお願いします
0479デフォルトの名無しさん
2010/01/04(月) 14:00:22> 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.
0480デフォルトの名無しさん
2010/01/04(月) 23:56:380481デフォルトの名無しさん
2010/01/05(火) 07:08:060483デフォルトの名無しさん
2010/01/05(火) 22:41:25一般的にはposixの方が速いけど、>>481のレスのとおりだと思います。
0484デフォルトの名無しさん
2010/01/05(火) 22:50:300485デフォルトの名無しさん
2010/01/05(火) 23:13:09SystemVが遅いからいろんな方法が生まれたということを考えるとねぇ
0486デフォルトの名無しさん
2010/01/06(水) 00:04:41あんたの妄想なんていらないんだよ
0487デフォルトの名無しさん
2010/01/06(水) 00:09:190488デフォルトの名無しさん
2010/01/06(水) 00:11:170489デフォルトの名無しさん
2010/01/06(水) 00:14:060490デフォルトの名無しさん
2010/01/06(水) 00:15:010491デフォルトの名無しさん
2010/01/06(水) 00:21:32知ったかの馬鹿ばっかだったってことだ
今日も俺の勝ち
0492デフォルトの名無しさん
2010/01/06(水) 01:07:220493デフォルトの名無しさん
2010/01/06(水) 16:47:150494デフォルトの名無しさん
2010/01/06(水) 16:48:38キモチワルイ ヒマジン キチガイ モノゴイ
0495デフォルトの名無しさん
2010/01/06(水) 17:13:42真面目なスレに出てきてほしくないよね、何が楽しいんだろうか
0496デフォルトの名無しさん
2010/01/06(水) 17:36:59>>495
お前も何が楽しくてレスしてんだよ。
0497デフォルトの名無しさん
2010/01/06(水) 17:50:240498デフォルトの名無しさん
2010/01/06(水) 19:01:45深夜時刻の書き込みを規制すればいいような
0499デフォルトの名無しさん
2010/01/06(水) 19:13:500500デフォルトの名無しさん
2010/01/06(水) 19:18:15邪魔でしょうがない。
0501デフォルトの名無しさん
2010/01/06(水) 20:18:270502デフォルトの名無しさん
2010/01/06(水) 20:45:330503デフォルトの名無しさん
2010/01/07(木) 00:56:320504デフォルトの名無しさん
2010/01/07(木) 01:01:370505デフォルトの名無しさん
2010/01/07(木) 21:50:38UNIXネットワークプログラミングのVol.2の内容だな
このスレとは関係ないけどな
0506デフォルトの名無しさん
2010/01/08(金) 22:19:30なんかお勧めはありますか?
0507デフォルトの名無しさん
2010/01/08(金) 22:26:190508デフォルトの名無しさん
2010/01/09(土) 22:05:500509デフォルトの名無しさん
2010/01/10(日) 12:54:45また参考になるサイトは有りますか?
0510デフォルトの名無しさん
2010/01/15(金) 18:52:311回ごとにどのぐらい、間を開けるべきですか?
曖昧な質問ですが教えてください。
自分としては10日ぐらいにわけて要求しようと思っているのですが
それが多いのか少ないのかわかりません。
0511デフォルトの名無しさん
2010/01/15(金) 18:53:540512デフォルトの名無しさん
2010/01/15(金) 23:27:13あまり頻繁に同一アクセスすると、DOSアタックと間違えられて、塞がれるからかもしれないぞ。
0513デフォルトの名無しさん
2010/01/16(土) 10:07:48難しいですね。
アクセスする度にIP変えるとしてもホストでわかるでしょうし。
とりあえずまだ時間はあるので自分で考えてから決めようと思います。
0514デフォルトの名無しさん
2010/01/16(土) 14:02:32何を言ってるんだ、おまいらは?
それはネットワークプログラミングの問題ではなくて、サイトの運営ポリシーの問題だ
512 が正論だと思うが… … …
0515デフォルトの名無しさん
2010/01/16(土) 14:48:490516デフォルトの名無しさん
2010/01/16(土) 16:13:260517デフォルトの名無しさん
2010/01/16(土) 18:47:05100万PVのサイトなら誤差?
開発日記でもブログに書いて10000回アクセスしてログ見てみたらw
0518デフォルトの名無しさん
2010/01/16(土) 21:32:091日当たりのアクセス数調べてみたら5000万はありそうです。
とっても嫌な気持ちになると思われます。。
0519デフォルトの名無しさん
2010/01/16(土) 22:17:370520デフォルトの名無しさん
2010/01/16(土) 22:53:510521デフォルトの名無しさん
2010/01/19(火) 02:51:200522デフォルトの名無しさん
2010/01/19(火) 11:03:010523デフォルトの名無しさん
2010/01/19(火) 11:30:290524デフォルトの名無しさん
2010/01/24(日) 01:45:41PC1台しかないんで、もう一つ対抗装置をエミュするアプリ作って
同じPC上で通信ってできますか?
ソケットならループバックできるけど、シリアルポートはさすがに無理?
物理的につながった相手としか交信できませんか?
0525デフォルトの名無しさん
2010/01/24(日) 01:55:130526デフォルトの名無しさん
2010/01/24(日) 01:58:41なるほど!その手があったか。
ありがとうございます!
0527デフォルトの名無しさん
2010/01/24(日) 02:05:150528デフォルトの名無しさん
2010/01/24(日) 02:07:190529デフォルトの名無しさん
2010/01/24(日) 02:29:03あげようか?
0530デフォルトの名無しさん
2010/01/24(日) 03:46:52仮想ポート同士を繋げるなんて出来たっけ?
0531デフォルトの名無しさん
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についての質問(初心者)
0532デフォルトの名無しさん
2010/01/24(日) 09:56:160533デフォルトの名無しさん
2010/01/24(日) 13:42:300534デフォルトの名無しさん
2010/01/24(日) 14:39:460535デフォルトの名無しさん
2010/01/24(日) 15:01:48データの読み書き程度なら、VMwareの場合シリアルポートを名前付きパイプに
マップしたり出来るらしいし、なんとかなるかも
0536デフォルトの名無しさん
2010/01/24(日) 17:15:360x1bのESCだけが送られてきた時と、
エスケープシーケンス(0x1b[Aとか)の区別は
続く文字がこない場合、タイムアウトでやるしかないでしょうか。
0537デフォルトの名無しさん
2010/01/24(日) 17:29:58行単位でしか送られてこないケースが多いけど
0538デフォルトの名無しさん
2010/01/24(日) 17:32:260539デフォルトの名無しさん
2010/01/24(日) 17:34:330540デフォルトの名無しさん
2010/01/24(日) 17:38:18タイムアウトしてはいけない
0541デフォルトの名無しさん
2010/01/24(日) 17:54:460542デフォルトの名無しさん
2010/01/24(日) 17:59:24ハングアップする糞メールソフトがあったな
NeXTのMail.appだったかな
0543デフォルトの名無しさん
2010/01/24(日) 20:28:00内容によって返答を返してくれるレスポンスプログラムも用意してデバッグしたいってこと?
素直にお古のPCを持ってきた方がいいんじゃない?
0544デフォルトの名無しさん
2010/01/24(日) 21:26:020545デフォルトの名無しさん
2010/01/24(日) 22:01:470546デフォルトの名無しさん
2010/01/24(日) 22:04:320547デフォルトの名無しさん
2010/01/24(日) 23:35:38いやいや、常に正格なバイト列だけ送られると仮定してはいけないよ。
0548デフォルトの名無しさん
2010/01/24(日) 23:44:30それとタイムアウトは関係ないよね
0549デフォルトの名無しさん
2010/01/25(月) 12:45:46よくキャンセルの意味でESCを押して画面やコマンドを
クリアすると思うのですが、それを実現したいのです
簡易シェル的な機能を持ってるので
カーソル移動とかと区別したいのです
0550デフォルトの名無しさん
2010/01/25(月) 12:48:510551デフォルトの名無しさん
2010/01/25(月) 13:28:30クライアント→telnetd の方向で カーソル移動とかのエスケープシーケンスを流すの?
0552デフォルトの名無しさん
2010/01/25(月) 15:24:060553デフォルトの名無しさん
2010/01/25(月) 15:44:55socket( PF_UNIX, SOCK_STREAM, 0 );
第3引数には 0 を入れてるけど、ほんとは何が正しいの?
0554デフォルトの名無しさん
2010/01/25(月) 16:02:390555デフォルトの名無しさん
2010/01/25(月) 16:24:19そうなると 文字コード切り替え と 簡易shell への画面消去を意図した 0x1b 一発との区別は
ストリームベースである以上 telnetd 側では判断できない ってことになるよね
クライアント→自前teknetd で 後者の操作を意図した入力は クライアントが [ESC] 押下に対して
0x1b を 2発投げるとか
『0x1b受領後 後続の文字がサポート外シーケンスは全て後者の動作とする』 とか
(結果的に [ESC] を2回叩かせる)
こういう落とし方になるのだろうか?
0556デフォルトの名無しさん
2010/01/25(月) 16:55:36古いPCならシリアルポート2つ付いてたりするけどな
1つしかないなら、シリアルカード買ってきて刺すのが吉かと
¥3kくらい?
0557デフォルトの名無しさん
2010/01/25(月) 16:57:58アプリのほうは TCPソケット相手にがんばる じゃ面倒か
0558デフォルトの名無しさん
2010/01/25(月) 17:18:32アレ便利ですよ
0559デフォルトの名無しさん
2010/01/25(月) 17:24:520560デフォルトの名無しさん
2010/01/25(月) 17:24:590561デフォルトの名無しさん
2010/01/25(月) 17:26:360562デフォルトの名無しさん
2010/01/25(月) 17:33:09シリアルじゃ足りなくてキーボードコネクタからも拝借してたなあ・・・
0563デフォルトの名無しさん
2010/01/25(月) 17:35:460564デフォルトの名無しさん
2010/01/25(月) 17:36:390565デフォルトの名無しさん
2010/01/25(月) 18:15:570566デフォルトの名無しさん
2010/01/25(月) 18:17:450567デフォルトの名無しさん
2010/01/25(月) 19:05:220568デフォルトの名無しさん
2010/01/25(月) 19:50:36TTLレベルでごまかすのが多かったからだと思う
0569デフォルトの名無しさん
2010/01/25(月) 21:27:330570デフォルトの名無しさん
2010/01/25(月) 21:51:310571デフォルトの名無しさん
2010/01/25(月) 23:10:06http://cvsweb.netbsd.org/bsdweb.cgi/src/libexec/telnetd/#dirlist
0572デフォルトの名無しさん
2010/01/27(水) 11:58:37情報を集めているのですが、受信側はよく見かけるのですが送信側がとんと見つかりません。
シンプルな送信側のサンプルはありませんでしょうか?
0573デフォルトの名無しさん
2010/01/27(水) 13:06:34com0com っていう仮想シリアルポートドライバが便利ですよ。
0574デフォルトの名無しさん
2010/01/29(金) 12:49:11データをrecvすることってあるんでしょうか?
それともacceptとrecvが成功していれば相手のIPアドレスが
偽装でないということになるんでしょうか?
0575デフォルトの名無しさん
2010/01/29(金) 13:06:350576デフォルトの名無しさん
2010/01/29(金) 13:25:38(B)がいきなり接続して来る場合は何に対して偽装してるのか、って話になる。
(B)にそのIPアドレスが設定されてれば同じ動きをするし。
0577デフォルトの名無しさん
2010/01/29(金) 13:38:19IPアドレスで通信相手を識別したい?
0578デフォルトの名無しさん
2010/01/29(金) 13:51:55ってことです。ググッてわかったのは
1.クライアントがSYNパケットをサーバに送信(connect呼び出し)
2.サーバはSYNパケットを受信すると確立待ちコネクションキューにエントリを作成
3.サーバはACK/SYNパケットをクライアントに送信
4.クライアントはサーバからのACK/SYNパケットを受信(connectから戻る)
5.クライアントがACKパケットをサーバに送信
6.サーバはACKパケットを受信すると、確立待ちコネクションキューから対応するエントリを確立済みコネクションキューに移動
7.accept関数は確立済みコネクションキューの先頭から確立済みのコネクションを取り出す
この4、5をサーバからの応答なしにACKをサーバに送信して
接続が確立されることがあるか知りたいんです。
>>577
recvした相手のアドレスが本当に通知されたアドレスなのか知りたいんです
0579デフォルトの名無しさん
2010/01/29(金) 14:11:48が成り立っていればサーバは接続が確立したということにすると思う
MACアドレスも偽装しないと駄目だろうけどね
通知って何?
0580574=578
2010/01/29(金) 14:22:50通知っていうかIPヘッダのIPアドレスです
サーバの返すSEQ番号が分からないとだめなので
偽装IPアドレスからrecvすることはないって認識でいいんでしょうか?
0581574=578
2010/01/29(金) 14:39:43そしてwikiによると最近のシステムなら大丈夫っぽいですね
0582デフォルトの名無しさん
2010/01/29(金) 14:53:57一連のコネクションの中でMACが切り替わるようなARPパケットが割り込んだ場合どうなるんだろうねぇ
0583デフォルトの名無しさん
2010/01/29(金) 15:05:24http://blog.hitachi-system.co.jp/m/02/699.html
ここに通信を暗号化する事が対策となるって書いてあったよ?
0584デフォルトの名無しさん
2010/01/30(土) 02:24:52パケット廃棄されてicmpのdestination unreachable message投げてくるのは暗号化でも回避仕様が無いと思う。
0585デフォルトの名無しさん
2010/01/30(土) 08:59:58そんなカビのはえた話題興味ないから。
0586デフォルトの名無しさん
2010/01/30(土) 09:40:480587デフォルトの名無しさん
2010/01/30(土) 10:09:410588デフォルトの名無しさん
2010/01/30(土) 17:45:480589デフォルトの名無しさん
2010/01/30(土) 18:04:30テメーのどこがプログラム技術だ? 言ってみろ。
0590デフォルトの名無しさん
2010/01/30(土) 18:22:47とくに>>589
0591デフォルトの名無しさん
2010/01/30(土) 18:44:270592デフォルトの名無しさん
2010/01/30(土) 18:50:52そのレス、そっくり返してやる。
0593デフォルトの名無しさん
2010/01/31(日) 03:09:330594デフォルトの名無しさん
2010/01/31(日) 03:15:070595デフォルトの名無しさん
2010/01/31(日) 15:52:400596デフォルトの名無しさん
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の区別が出来てるの?
0597デフォルトの名無しさん
2010/02/02(火) 18:41:30実際に、どこのマンションで区別できてるわけ?
0598デフォルトの名無しさん
2010/02/02(火) 18:49:56実際はグローバルIPを割り当てしてもらってないか?
静的NATで192.168.11.10:80 や 192.168.11.20:80 に変換してるだけかもしれない
0599デフォルトの名無しさん
2010/02/02(火) 19:38:130600デフォルトの名無しさん
2010/02/02(火) 21:48:41住所ってこと?光マンション風な場所です。
>>598
実際は、先頭から3番目まで同じで、4番目は 10と20とか、違ってる。
(偶然知り合いが同じマンションにいて)
静的NATと、実はグローバルIPじゃないの?ってのを重点に調べてみますー
0601デフォルトの名無しさん
2010/02/02(火) 22:13:420602デフォルトの名無しさん
2010/02/02(火) 23:00:030603デフォルトの名無しさん
2010/02/02(火) 23:06:45答えてる奴が馬鹿。
0604デフォルトの名無しさん
2010/02/02(火) 23:25:200605デフォルトの名無しさん
2010/02/03(水) 00:14:25その例では、外からポート80を共有することは100%出来ないですだよ。
そもそも誰か一人だけであっても、運用上の問題で
そんな設定をマンションがしてくれるわけがない。
0606デフォルトの名無しさん
2010/02/03(水) 00:15:430607デフォルトの名無しさん
2010/02/03(水) 00:40:54PC複数持ってきたら枯渇するのか?
そんな馬鹿なマンションあるのか?w
0608デフォルトの名無しさん
2010/02/03(水) 01:12:210609デフォルトの名無しさん
2010/02/03(水) 01:20:330610デフォルトの名無しさん
2010/02/03(水) 01:53:15マジレスすると、昔はよくあった
0611デフォルトの名無しさん
2010/02/03(水) 02:01:58ブロードキャストもsmb/net-bios/net-beuiも通しまくり
パスワード無い共有フォルダが丸見え
0612デフォルトの名無しさん
2010/02/03(水) 07:22:400613デフォルトの名無しさん
2010/02/03(水) 09:18:38出来るよ。質問者が気に入らないから答は書かないけど。
$ echo -n '方法' | md5sum
9aa60fb0d7c7bdbe25dcda84957e2ae6
0614デフォルトの名無しさん
2010/02/03(水) 11:20:510615デフォルトの名無しさん
2010/02/03(水) 11:44:400616デフォルトの名無しさん
2010/02/03(水) 13:09:520617デフォルトの名無しさん
2010/02/03(水) 14:01:340618デフォルトの名無しさん
2010/02/03(水) 21:48:190619デフォルトの名無しさん
2010/02/03(水) 22:31:59利用し以下の処理をします。
メインプロセスでselectでデータを受信します。
次に、受信したデータをバッファにコピーします。
バッファにデータがある場合スレッドはバッファのデータを解析します。
最後にスレッドは解析したデータをもとに、送信元へ結果を返します。
この時、スレッドから接続するソケットのディスクリプタは、メインプロセスで
利用しているものと共用したいのですが可能でしょうか。
また、ディスクリプタを共有する場合recvとかsendする場合、排他制御が
必要となるのでしょうか。
0620デフォルトの名無しさん
2010/02/03(水) 22:41:280621デフォルトの名無しさん
2010/02/03(水) 22:58:580622デフォルトの名無しさん
2010/02/03(水) 23:34:32結局、
受信タスク1
受信タスク2 でそれぞれrecvfromで待っていても
タスク1→タスク2 という順に処理するから
whileループ内で二つを回しているのと変わらないきがするのですが
0623デフォルトの名無しさん
2010/02/03(水) 23:57:51最初のrecvfromが受信しない限り、
2番目のrecvfromは呼び出してもらえない。
0624デフォルトの名無しさん
2010/02/03(水) 23:58:33一方が受信専門
他方が送信専門
って作りにしたいのですけど
0625デフォルトの名無しさん
2010/02/04(木) 00:06:360626デフォルトの名無しさん
2010/02/04(木) 00:36:17タスクやスレッドでそれをやると戻ってくるのでしょうか?
単にrecvfromにタイムアウトをオプションでつければよいのではないのでしょうか?
デフォルトでもタイムアウトなかったかな
0627デフォルトの名無しさん
2010/02/04(木) 00:59:59recvとかsend排他しないで
呼び出すと結果はどうなるのでしょうか
0628デフォルトの名無しさん
2010/02/04(木) 08:49:191 後が待たされる
2 順番は関係なく奪い合う。
3 後がエラー
のどれか。
ドキュメントに書いていない事なので、その動作が今後も保証される事を期待してはいけない。
0629デフォルトの名無しさん
2010/02/04(木) 08:57:01通信と計算処理のスレッドを分ける
0630デフォルトの名無しさん
2010/02/04(木) 10:18:53そんな回答は誰も聞いてないだろ・・・
0631デフォルトの名無しさん
2010/02/04(木) 13:25:12少なくともWinSockの場合はスレッドセーフになっているよ。
並列にsend/recvできる。
0632デフォルトの名無しさん
2010/02/04(木) 15:15:01こういうのうざいんだよなぁ
質問に対して、本人はアドバイスしてるつもりなんだろうけど
実際は単に知識自慢とか俺ならこうするとか・・・
ほんとうざい
0633デフォルトの名無しさん
2010/02/04(木) 15:37:086時間も経って書き込まれるいまさら感漂うそういうレスも十分ウザイから
0635デフォルトの名無しさん
2010/02/04(木) 15:53:43単純に質問にそのまま答えるよりも質問の意図を汲み取って
本質的な部分の間違いを正した方が良いケースは結構多いんだけどな
0636デフォルトの名無しさん
2010/02/04(木) 20:32:37更に通信と計算処理のスレッドを分ける
0637デフォルトの名無しさん
2010/02/04(木) 20:44:170638デフォルトの名無しさん
2010/02/04(木) 21:32:180639デフォルトの名無しさん
2010/02/04(木) 21:43:21Windowsが最強なんだな
0640デフォルトの名無しさん
2010/02/04(木) 21:48:32更に通信と計算処理のスレッドを分け、
計算処理はコア数分並列化する。
0641デフォルトの名無しさん
2010/02/04(木) 22:05:39recvfrom 1
recvfrom 2
}
こうやった場合とスレッドでrecvfromわけた場合ってシングルコアなら基本的に動き同じですよね。
0642デフォルトの名無しさん
2010/02/04(木) 22:07:330643デフォルトの名無しさん
2010/02/04(木) 23:56:50OS非搭載のマイコンプログラムで、それをするにはどうすれば出来ますか?
0644デフォルトの名無しさん
2010/02/05(金) 00:01:09君、マイコンwプログラムをしたことないの?
0645デフォルトの名無しさん
2010/02/05(金) 00:06:310646デフォルトの名無しさん
2010/02/05(金) 00:17:290647デフォルトの名無しさん
2010/02/05(金) 00:26:41みんなはOS非搭載の時は自前で簡易タスク切り替え、スケジューリング等を実装してるんですよね
並レベルのプログラマなら簡単にマイコン用ぐらいならできると聞いたんですよ
逆に出来ないと恥ずかしいレベルらしいです
0648デフォルトの名無しさん
2010/02/05(金) 00:28:51たいした事はしていない
0649デフォルトの名無しさん
2010/02/05(金) 00:32:56知っているくせに
たした事してないなら教えて
0650デフォルトの名無しさん
2010/02/05(金) 00:37:370651デフォルトの名無しさん
2010/02/05(金) 00:38:300652デフォルトの名無しさん
2010/02/05(金) 00:50:54プログラマならOSの基礎ぐらい知ってるでしょう
それすら知らないのに、やれスレッドっでどうのなんて職業プログラマーじゃないよね
自分趣味だから基礎なんてないんです
自分みたいに趣味がほとんど?
0653デフォルトの名無しさん
2010/02/05(金) 00:54:290654デフォルトの名無しさん
2010/02/05(金) 00:54:550655デフォルトの名無しさん
2010/02/05(金) 01:09:58まぁおなじっちゃ同じ。
つーか、ブロッキングソケットなんて業務じゃ絶対なしだから、
(マイクロソフトはふつーにブロッキングソケットのサンプルとか掲載してっけどね。)
非同期で話をするけど
普通は一個のスレッドで、
while()
{
select()
if(FD_SET(s1))recvfrom(s1);
if((FD_SET(s2))recvfrom(s2);
}
とかやるので一個のスレッドで複数のソケットを待つのは普通のやり方。
#一個のソケットに対して
#recvfrom(s1) 1回目
#recvfrom(s1) 2回目
#とかじゃないよね?
複数のスレッドで受信をしたいというのは、スレッドに対してもてるソケットの数に上限があるとか、
そう言うケースじゃないの?昔のWindowsはたしかそんな制約があったような。
0656デフォルトの名無しさん
2010/02/05(金) 01:44:03純粋にパケットやデータを操作するよりもソケットの概念を実装する方が難易度は高い感じ
というか、ソケット付きのスタックはもうある前提の話か?
OSっていうと資源管理とかやらんといかんけど
タスクディスパッチャだけなら基本的にスタックの操作だけなのでごく簡単に作れる
0657デフォルトの名無しさん
2010/02/05(金) 01:47:46だから複数のスレッドをつくるということでしょうか
0658デフォルトの名無しさん
2010/02/05(金) 01:57:260659デフォルトの名無しさん
2010/02/05(金) 02:06:010660デフォルトの名無しさん
2010/02/05(金) 02:13:000661デフォルトの名無しさん
2010/02/05(金) 02:16:11マイコンだからとかそういう話ではない
0662デフォルトの名無しさん
2010/02/05(金) 04:32:18解ってない人・気になる人には次の本がおすすめ
http://www.amazon.co.jp/dp/4798022543
http://www.amazon.co.jp/dp/4756147437
http://www.amazon.co.jp/dp/4756144519
http://www.amazon.co.jp/dp/4839919844
http://www.amazon.co.jp/dp/4839909865
0663デフォルトの名無しさん
2010/02/05(金) 07:18:02性能がかなり違うと思うけど
0664デフォルトの名無しさん
2010/02/05(金) 08:29:10更に通信と計算処理のスレッドを分け、
計算処理は処理数分並列化する。
0665デフォルトの名無しさん
2010/02/05(金) 11:17:34どこでポーリング処理してんの?
0666デフォルトの名無しさん
2010/02/05(金) 16:15:300667デフォルトの名無しさん
2010/02/05(金) 17:28:160668656
2010/02/05(金) 17:42:23ネットワークの制御はスループットが必要な通信でもなけりゃさして高速に反応する必要もないんで
2,3msに1回通る感じでもそれなりに使える
0669デフォルトの名無しさん
2010/02/05(金) 17:44:550670デフォルトの名無しさん
2010/02/05(金) 18:41:46C言語で
0671デフォルトの名無しさん
2010/02/05(金) 19:13:29・開発環境
・実行環境(使用するOS)
・プログラミングの経験
・ネットワーク基本知識の程度
この位は書いとけ
0672デフォルトの名無しさん
2010/02/05(金) 19:16:25マイコン
Cの基本
ネットワークの基本
0673デフォルトの名無しさん
2010/02/05(金) 19:39:000674デフォルトの名無しさん
2010/02/05(金) 19:52:29ゆとり時代の象徴トヨタゆとり過ぎでエライ目にあっているな
あれみると、上から下まで日本は "ゆ と り" とわかるだろう
0675デフォルトの名無しさん
2010/02/05(金) 19:59:04このままじゃ空白の世代ができてしまいます
0676デフォルトの名無しさん
2010/02/05(金) 20:02:540677デフォルトの名無しさん
2010/02/05(金) 20:19:34空白の世代が出来たとしても、空白の世代の影響がなくなる未来が来るよ
ゆとり時代の最大の功績は空白の世代を作り、未来の世代に試練を与えたことである。
そして、この試練を克服した世代が1000年以上の長期にわたる繁栄の礎を形成する
長い目で見ればいい事だな
0678デフォルトの名無しさん
2010/02/05(金) 20:21:33団塊世代と同じ脳じゃんあんた
0679デフォルトの名無しさん
2010/02/05(金) 23:13:47OS使った方がいいんじゃね?
0680デフォルトの名無しさん
2010/02/05(金) 23:35:590681デフォルトの名無しさん
2010/02/05(金) 23:45:16目的もないまま方法論をあーだこーだこねくり回しても無意味だよ
まずは組んでみればいいじゃない
組めもしないなら、何が理解できないのか、何が準備できていないのか、を相談すれば良いだけのこと
何もしないうちから何したらいいですかと言われても誰も答えられない
0682デフォルトの名無しさん
2010/02/05(金) 23:50:250683デフォルトの名無しさん
2010/02/06(土) 00:05:04プロプならスタック作れるの当然だけど、趣味だけプじゃとてもそんなレベルに行かないよ
趣味プはひたすらパクル、と言うことでuIPをパクって来た(これサンプル付きだよ)
マルチタスクはネットタスク、UARTタスク、UI監視タスク...をリアルタイム性を維持しながら
切り替えるのに使いたいの。
超簡易超手抜きリアルタイムモニターでもさ、作れるとあとあとマイコンプログラムするのに便利でしょ
タスクディスパッチャ簡単に作れるなら、どう作るか教えてください
0684デフォルトの名無しさん
2010/02/06(土) 00:35:480685デフォルトの名無しさん
2010/02/06(土) 00:59:371GのNIC搭載したFPGAボード作って
さらに独自のスタック作るなんて1ヶ月程度の遊び
で誰でも作れるだろ
0686デフォルトの名無しさん
2010/02/06(土) 01:02:100687デフォルトの名無しさん
2010/02/06(土) 01:26:07製造実装で10万円はかかるだろw
0688デフォルトの名無しさん
2010/02/06(土) 01:27:57金とオマンマの為に命を削って、別に愛してもいない妻の為に
家に給料を持って帰るのがプログラマ。
0689デフォルトの名無しさん
2010/02/06(土) 02:13:34たまたま動いたレベルで世に出したら、動かなくて致命的だと思う。
ちゃんと仕様上問題ないか検証してから出してくれ。
プログラマはオープンソースで無料奉仕するのが基本だろう。
対価を求めては逝けない。無料でソースを後悔してこそ尊敬されるよ。
普通にatomあたりの載ったGbE付きのPCマザーでいいじゃんと思うが。1万円もしないぞ。
0690デフォルトの名無しさん
2010/02/06(土) 03:01:130691デフォルトの名無しさん
2010/02/06(土) 07:10:040692デフォルトの名無しさん
2010/02/06(土) 07:48:40http://www.amazon.co.jp/dp/4894714957
英語版で読んだから日本語版がいいかは知らないが
0693デフォルトの名無しさん
2010/02/06(土) 08:03:43その本見ても製品レベルの
スタックは絶対作れないしたいしたこと
書いてないから別の本読め
0694デフォルトの名無しさん
2010/02/06(土) 08:14:38別の本とは具体的にどれのことですか
0695デフォルトの名無しさん
2010/02/07(日) 15:24:08ipv6伸すタックも探せば誰か作ってるだろう。
0696デフォルトの名無しさん
2010/02/07(日) 17:47:37車輪の再発明でも、ネットプログラム熱く語る人なら
俺俺スタック作ったことあるんじゃないの。
スタックぐらい作ってから熱く語れ(エラそうなこと言え)って言われるよ
0697デフォルトの名無しさん
2010/02/07(日) 18:07:270698デフォルトの名無しさん
2010/02/08(月) 09:17:340699デフォルトの名無しさん
2010/02/08(月) 11:07:23よくわからない。>>655のとおりだとポーリングを行わないと思う。
0700デフォルトの名無しさん
2010/02/08(月) 12:14:210701デフォルトの名無しさん
2010/02/08(月) 20:26:12どういうこと?
0702デフォルトの名無しさん
2010/02/08(月) 20:31:52完全に実装しなくてもいいってこと
0703デフォルトの名無しさん
2010/02/08(月) 20:33:580704デフォルトの名無しさん
2010/02/08(月) 20:40:300705デフォルトの名無しさん
2010/02/08(月) 22:28:10サブセットにする
0706デフォルトの名無しさん
2010/02/08(月) 22:30:21kwsk
0707デフォルトの名無しさん
2010/02/08(月) 22:40:280708デフォルトの名無しさん
2010/02/08(月) 22:45:190709デフォルトの名無しさん
2010/02/08(月) 22:50:00そういうプロトコルですよ
0710デフォルトの名無しさん
2010/02/08(月) 23:01:51古のsnaでも使えばいいのにw
0711デフォルトの名無しさん
2010/02/08(月) 23:17:09最初からそう言っている
0712デフォルトの名無しさん
2010/02/08(月) 23:22:080713デフォルトの名無しさん
2010/02/09(火) 06:26:17キーボードのエコーバックとかふつうにそうなるでしょ
めずらしいことじゃないよな
0714デフォルトの名無しさん
2010/02/09(火) 09:54:090715デフォルトの名無しさん
2010/02/09(火) 10:08:470716デフォルトの名無しさん
2010/02/09(火) 11:13:52100バイトのデータを送るのにtcpデータグラム100個送るのが糞でないのか?
0717デフォルトの名無しさん
2010/02/09(火) 12:14:54それでいくとtelnetクライアントも糞になっちまうなあ
そのデバイスのせいで輻輳が起きるとかじゃなければOKなんじゃね?
0718デフォルトの名無しさん
2010/02/09(火) 12:19:39世迷言を垂れ流すな。
0719デフォルトの名無しさん
2010/02/09(火) 13:16:28超速タイピングとかコピペ貼りつけとかするとまとめてくれるのかな??
0720デフォルトの名無しさん
2010/02/09(火) 13:34:24例えばTERMやDISPLAYなどの環境変数。
0721デフォルトの名無しさん
2010/02/09(火) 13:46:13全部1バイトづつ送る謎のデバイスは糞だけど
telnetはチョビットだけマトメテ送ってくることが有るので
糞じゃないってことでよろしいすかぁ?
謎のデバイスの正体やいかに?
0722デフォルトの名無しさん
2010/02/09(火) 15:59:38yes
0723デフォルトの名無しさん
2010/02/09(火) 19:50:07ネットワークに関するデバイスで、TCPスタックを提供するドライバが
TCPで1バイトづつ送られてきたときに、普通はくっつけてイーサネットのフレームにして流すのに
毎回、1バイト/1フレームで出す、とかそう言う話でしょ?
それだったら超糞だけど、ほんまかいな。
0724デフォルトの名無しさん
2010/02/09(火) 19:54:480725723
2010/02/09(火) 19:58:50っていうのなら、単にソフトがNagleのアルゴリズムをOFFにしたのかも知れないし、
単純にTelnetだったのかも知れないし、本当に必ず1バイト1フレームなら糞だよね。
PICマイコンの電子工作キットかなんかで、最初から組み込まれているTCPスタックとかか?
0726716
2010/02/09(火) 20:41:36デバイスはいわゆる工業デバイスで、基本的な動作は電波で読み取ったデータを
ホストに垂れ流す様なデバイスです。 だから元々意味のあるデータの単位はけっこうな
大きさがあり、プロトコル的に1バイトのデータに意味のある事は絶対にありません。
>>725
っていうか、ものすごく単純なTCP実装であってNagelどころか送信側のTCP窓が1バイト
に固定してあるんじゃないかという気がします。
0727デフォルトの名無しさん
2010/02/09(火) 20:52:250728723
2010/02/09(火) 20:56:070730デフォルトの名無しさん
2010/02/09(火) 23:00:550731デフォルトの名無しさん
2010/02/09(火) 23:28:27斬新なデバイスを引っ提げて期待の新人乱入。
0732デフォルトの名無しさん
2010/02/09(火) 23:43:34PCIバスをブロックし続けるような感じ。
0733デフォルトの名無しさん
2010/02/10(水) 00:45:52ACKが返るかタイムアウトするまで
全てのリソースをブロックする
0734デフォルトの名無しさん
2010/02/10(水) 03:19:39途中から、応答が返ってこなくなります(すべてタイムアウトになります)
これってISPの制限だったりするんでしょうか?
0735デフォルトの名無しさん
2010/02/10(水) 10:11:33ブロックしているのは、加入ISP、攻撃を受けているサーバ、もしくはお前のPCのPFW。
0736デフォルトの名無しさん
2010/02/10(水) 13:55:31オレもそんな気がした
0737デフォルトの名無しさん
2010/02/10(水) 15:09:09ありがとうございました
PFWという発想はなかったので参考になりました
それと.netのSocketクラスを使っているのですが、
Connect()のタイムアウト値を設定する方法ってありませんか?
送信と受信はSend/ReceiveTimeoutで指定できるのですが、
Connect()のタイムアウトまでは指定に関係なく20秒程度かかります
0738デフォルトの名無しさん
2010/02/10(水) 21:34:30ごめんなさい。マジでそれ出荷したことあります。
0739デフォルトの名無しさん
2010/02/10(水) 22:57:160740デフォルトの名無しさん
2010/02/11(木) 00:23:180741デフォルトの名無しさん
2010/02/11(木) 00:26:290742デフォルトの名無しさん
2010/02/11(木) 01:26:060743デフォルトの名無しさん
2010/02/12(金) 03:26:08つーか普通にipsでそういう攻撃防御のシーケンス有りそうw
タイムアウトぎりぎりまで遅延して再送させまくって侵入を遅らせるとか。
rst返して叩き切るのとか、何も返さないで捨ててしまう火壁より立ち悪いなw
0744デフォルトの名無しさん
2010/02/12(金) 03:48:520745デフォルトの名無しさん
2010/02/12(金) 06:22:030746デフォルトの名無しさん
2010/02/12(金) 19:25:36Raw Socket でパケットを監視していると、時々受信できない場合があるようですが
実際に通信しているアプリケーションでは無事に受信しているようです
こういうことはあり得るでしょうか?
ぐぐってみると、Raw Socket ではパケットを取りこぼすことがある、といったような記述が
二、三見つかりましたが、これと同じ現象かどうか判断がつきませんでした
0747デフォルトの名無しさん
2010/02/12(金) 19:45:150748デフォルトの名無しさん
2010/02/13(土) 02:33:290749デフォルトの名無しさん
2010/02/13(土) 02:34:27大抵はプログラムの書き方が悪い
0750746
2010/02/13(土) 07:44:12やっぱり自分のチョンボですかね・・・
受信したときに呼ばれる非同期のハンドラの処理が重すぎて
次のパケットの受信に間に合わない、ということが起きてるんでしょうか?
0751デフォルトの名無しさん
2010/02/13(土) 08:47:47追加ヘッダに関しては引数で指定できるのですが、それ以外の項目のいじり方がよくわかりません
0752デフォルトの名無しさん
2010/02/13(土) 10:50:02http://homepage2.nifty.com/spw/tips/PacketDump.html
0753751
2010/02/13(土) 11:40:090754デフォルトの名無しさん
2010/02/13(土) 13:40:30まさにそういうやり方でやってるんですが・・・
裏で他のプロセスががしがし通信している状態で
特定のホスト・ポートとのやり取りだけを検出して表示するようにしたところ
大部分は表示されるんですがところどころ抜けているようです
0755デフォルトの名無しさん
2010/02/13(土) 13:46:09ほかので抜けないんならどこかにバグあり
ほかのでも抜けるんならマシンスペックが足りてないのでは?
0756デフォルトの名無しさん
2010/02/13(土) 14:53:260757デフォルトの名無しさん
2010/02/13(土) 15:23:03とか w
0758デフォルトの名無しさん
2010/02/13(土) 17:25:42raw socketの挙動がudpか否かで変わるとは初耳だな。
0759746
2010/02/13(土) 18:30:32WireShark ではちゃんと取れてますね
ということは作りが悪いのか・・・
こちらに置いてあるソースを元にしていじっています
tp://www.stackasterisk.jp/tech/program/howtosniff01_01.jsp
やりたいことは、あるアプレットがサーバと送受信している内容を監視して
電文の内容に応じてファイルに保存したりする、というようなものです
確立されているソケットの間に割り込んでプロキシサーバのような動きが出来ればと思いましたが
出来るかどうかもわからないので、とりあえず sniffer のような動作を目指します
パケットを受信するたび、送信元/先どちらかのIPアドレス+ポート番号が監視対象サーバのものであれば
画面に表示し、そうでなければ捨てる、という処理にしたんですが、アプレットの動作から判断して
当然受信しているはずの電文が、ツールで表示されないことがあります
すべてが取れる/取れないのではなく、取れたり取れなかったりするのは、ネットワークの負荷等
環境の差異によるものであり、高負荷の場合を考慮していない設計であるのが問題なのでしょうか?
どういった方向で解決すべきなのか・・・ WinPCap も試してみるべきですかね
>>756
WinPCap でもいいんですが、出来れば事前にインストールの必要のない
Raw Socket だけでやりたいです 無理なら諦めますが
0760デフォルトの名無しさん
2010/02/13(土) 19:08:34こんな事やってたらこぼすのは当たり前。
0761546
2010/02/13(土) 19:22:29表示といっても、時刻、送信元/先IPアドレス・ポート番号、データ長、データの先頭16バイトの16進ダンプを
ListView に追加するだけなんですが、これだけでも重すぎますか?
0762デフォルトの名無しさん
2010/02/13(土) 19:36:520763デフォルトの名無しさん
2010/02/13(土) 20:07:45パケットを取るスレッドはBackgroundWorker使うとか
0764723
2010/02/13(土) 21:34:01あれは案外というか、1万件くらい登録したら分かるが激重
(オーナードローで無ければの話だが。)
手っ取り早く表示をやめてファイルに落として抜けるか見るとか。
それが原因ならメインスレッドの優先度より高いスレッドで受信して、一旦ファイルに全部はいてから、
メインスレッドでチンタラ表示させてみればいい。
0765デフォルトの名無しさん
2010/02/13(土) 21:34:480766746
2010/02/13(土) 21:55:26ズバリそれだったようです
試しに、パケット受信時に ListView に載せるのをやめて、データを内部で保持するのみとし
停止後にまとめて表示するようにしたら、今のところ取りこぼしは発生していません
表示に時間が掛かっているとは、>>760氏をはじめ皆さんの慧眼に恐れ入るばかりです
あとは溜め込んだパケットを解析する処理をどうするか、ちょっと悩んでみます
皆様、ありがとうございました
0767デフォルトの名無しさん
2010/02/13(土) 22:03:30重すぎます
0768デフォルトの名無しさん
2010/02/13(土) 22:08:25そっちなら激早。
0769746
2010/02/13(土) 22:19:05わかりました!
>>768
.NET 2.0 でいうところの仮想表示モードというやつでしょうか
これから勉強します ありがとうございます
0770デフォルトの名無しさん
2010/02/16(火) 01:38:50成形してブラウザに返す簡易Httpサーバーを作りたいのですがどの辺から勉強すればいいでしょうか?
0771デフォルトの名無しさん
2010/02/16(火) 01:42:170772デフォルトの名無しさん
2010/02/16(火) 01:45:08HTTPプロトコルから
0773デフォルトの名無しさん
2010/02/16(火) 01:51:43そんなレベルからですか・・・
.netだとわりと簡単だったのでそれと同等の物をC++で書いてみようと思ったのですが・・・
こういうライブラリを使うと簡単とかはないですかね?
2chからDATを取ってくる部分はwininetで書いたのですが・・・
0774デフォルトの名無しさん
2010/02/16(火) 04:11:34http://pc12.2ch.net/test/read.cgi/tech/1262520925/73
0775デフォルトの名無しさん
2010/02/16(火) 04:13:47よくわかりましたねw
サーバー部分もなんとかなりそうです。
0776デフォルトの名無しさん
2010/02/16(火) 09:48:49http://www.geekpage.jp/programming/winsock/http-server.php
0777デフォルトの名無しさん
2010/02/16(火) 10:02:16過去の互換性とかどんな物かね?
winhttp ver1はXP以降
winhttp ver2はvista以降
となってるけどwinsockとwininetがよくわからん
0778デフォルトの名無しさん
2010/02/16(火) 21:14:040779デフォルトの名無しさん
2010/02/16(火) 21:33:590780デフォルトの名無しさん
2010/02/17(水) 02:48:050781デフォルトの名無しさん
2010/02/17(水) 03:41:490782デフォルトの名無しさん
2010/02/17(水) 11:40:45ブラウザから所定のurlを要求するとhtmlファイルを送るという基本動作については問題なく動作しています。
ところがブラウザに送ったhtmlのヘッダにcssやjsを二つ以上指定してあると
その要求に対する対応処理がおかしくなっています。
ブラウザ サーバー
html要求->html要求を受信
0783デフォルトの名無しさん
2010/02/17(水) 11:46:07ブラウザ サーバー
html要求 -> html要求を受信
↓
ファイル検索
↓
html受け取り <- html送信
↓
html解析
↓
cssx2 jsx1要求 -> cssx2 jsx1要求受信 ← ここがおかしくなる
要求はファイル分(cssx2,jsx1)分くるようなのですが、
RequestIdを見ると3つとも同じでした。
この辺をうまく対応しないと駄目なんですかね?
というか方法がさっぱりわからない・・・
0784デフォルトの名無しさん
2010/02/17(水) 11:55:22だが時に winsock.h と winsock2.h が混在してコンパイルできなくなる罠が。
0785デフォルトの名無しさん
2010/02/17(水) 12:52:070786デフォルトの名無しさん
2010/02/17(水) 13:32:200787デフォルトの名無しさん
2010/02/17(水) 19:12:53winhttpとやらのほうが使いやすいのかな
Cにも組み込めるんだよね
0788デフォルトの名無しさん
2010/02/17(水) 19:37:080789デフォルトの名無しさん
2010/02/17(水) 19:58:39wininetと同じでwinsockより一段上のレイヤだろ。
内部的にwinsockを使ってると考えるのが自然だと思うんだが。
0790デフォルトの名無しさん
2010/02/17(水) 20:00:35ありがとうございます。
Connection: closeを送っても結果は同じでした。
実はその後がありまして・・・
良かれと思って入れたマルチスレッド化を止めたところ問題ないく動きました・・・・
うーむ・・・この辺の仕組みを解説してるようなところはないでしょうか・・・
0791デフォルトの名無しさん
2010/02/17(水) 20:06:460792デフォルトの名無しさん
2010/02/17(水) 22:28:04マルチスレッドって何も考えずにデータを共有できるから便利そうに
見えるけど、競合問題を起こさないように作るのは初心者には難しい
0793デフォルトの名無しさん
2010/02/18(木) 00:35:090794デフォルトの名無しさん
2010/02/18(木) 07:04:03???
0795デフォルトの名無しさん
2010/02/18(木) 11:06:220796デフォルトの名無しさん
2010/02/18(木) 20:56:10力業で固めたゴミみたいなプログラムが出来るだけだろ。
0797デフォルトの名無しさん
2010/02/18(木) 21:54:470799デフォルトの名無しさん
2010/02/18(木) 22:48:09ただスレッドごとに違う領域にデータ書き込めばいいだけだろ
0800デフォルトの名無しさん
2010/02/18(木) 22:54:290801デフォルトの名無しさん
2010/02/18(木) 22:56:230802デフォルトの名無しさん
2010/02/18(木) 23:02:520803デフォルトの名無しさん
2010/02/18(木) 23:26:190804デフォルトの名無しさん
2010/02/19(金) 09:55:41インターフェイス別(それぞれのIP別)にソケットを作ってbindしないとダメですか?
0805デフォルトの名無しさん
2010/02/19(金) 10:31:220806デフォルトの名無しさん
2010/02/21(日) 11:31:16FD_CONNECTでsendしても問題ない?
0807デフォルトの名無しさん
2010/02/24(水) 09:58:18p2proxyなど同様のローカル鯖タイプが使っている場合もあるので別のアドレスを
使いたいのですが可能なのでしょうか?
0808デフォルトの名無しさん
2010/02/24(水) 11:14:340809デフォルトの名無しさん
2010/02/24(水) 14:38:48どのようにすればよいのでしょうか?
wininetを利用しています。
0810デフォルトの名無しさん
2010/02/24(水) 14:48:360811デフォルトの名無しさん
2010/02/24(水) 14:52:210812デフォルトの名無しさん
2010/02/24(水) 15:13:200813デフォルトの名無しさん
2010/02/24(水) 16:55:36MFCの関数くらい入れてやれよ
0814デフォルトの名無しさん
2010/02/24(水) 17:42:350815デフォルトの名無しさん
2010/02/24(水) 17:57:45自分で書いたんじゃ無けりゃそのライブラリなりアプリの説明書読むしかない
0816デフォルトの名無しさん
2010/02/24(水) 17:58:59アドレスは動かすPCで追加してそれ指定すれば?
0817デフォルトの名無しさん
2010/02/24(水) 18:14:230818デフォルトの名無しさん
2010/02/24(水) 18:28:100819デフォルトの名無しさん
2010/02/24(水) 23:04:240820デフォルトの名無しさん
2010/02/24(水) 23:12:230821デフォルトの名無しさん
2010/02/24(水) 23:23:040822デフォルトの名無しさん
2010/02/24(水) 23:37:01まあ左翼の被害者だからかわいそうだけど
0823デフォルトの名無しさん
2010/02/24(水) 23:43:29127/8にアドレス追加するってことじゃないの?
0824デフォルトの名無しさん
2010/02/25(木) 07:56:000825デフォルトの名無しさん
2010/02/25(木) 10:31:400826デフォルトの名無しさん
2010/02/25(木) 10:37:530827デフォルトの名無しさん
2010/02/25(木) 12:05:480828デフォルトの名無しさん
2010/02/25(木) 13:39:38WSAAsyncSelect後のFD_CONNECTでエラーが返ってきてしまいます。
丁度20秒で接続が切れたのでタイムアウトしたのかと思っているのですが、
タイムアウトした原因は何なのでしょうか?
とりあえずの127.0.0.1での接続には成功しています。
0829デフォルトの名無しさん
2010/02/25(木) 13:48:40ファイアウォールやらルータやらにブロックされたとか
0830デフォルトの名無しさん
2010/02/25(木) 19:17:54ありがとうございます。
パソコンAのポートを開放し、パソコンBにウイルスチェックのプログラムが起動していたので
それを切ったところ、正常に繋がりました。(両方が原因?)
ただ、パソコンAがサーバでパソコンBがクライアントの場合は正常に動くのですが、
パソコンBがサーバでパソコンAがクライアントの場合は繋がりませんでした。
サーバ側は接続で使用するポートを必ず開放しなければならないのでしょうか?
0831デフォルトの名無しさん
2010/02/25(木) 19:27:150832デフォルトの名無しさん
2010/02/25(木) 19:32:25クライアントマシンむけのファイアウォールソフトは
待ちうけポートは遮断がデフォルトな場合が多いね
サーバーを動かす場合は開放してやってください
0833デフォルトの名無しさん
2010/02/25(木) 21:27:38どうも有難うございます。
0834デフォルトの名無しさん
2010/02/26(金) 08:26:080835デフォルトの名無しさん
2010/02/27(土) 14:54:560836デフォルトの名無しさん
2010/02/27(土) 14:57:240837デフォルトの名無しさん
2010/02/27(土) 18:46:530838デフォルトの名無しさん
2010/02/27(土) 20:17:250839デフォルトの名無しさん
2010/02/27(土) 20:57:110840デフォルトの名無しさん
2010/02/27(土) 20:58:020841デフォルトの名無しさん
2010/02/27(土) 21:42:130842デフォルトの名無しさん
2010/02/27(土) 23:47:500843デフォルトの名無しさん
2010/02/28(日) 21:57:03管理者にファイヤウォールで障害が発生したとメールを送り電源を落とさせる。
掃除のおばちゃんにメールを送り、ファイヤウォールの掃除を挿せるw
0844デフォルトの名無しさん
2010/02/28(日) 22:15:28ギャグの最後に噛むとか
0845デフォルトの名無しさん
2010/03/01(月) 02:18:430846デフォルトの名無しさん
2010/03/02(火) 20:51:450847デフォルトの名無しさん
2010/03/02(火) 21:24:392ちゃんねる復活への奇跡の軌跡
0848デフォルトの名無しさん
2010/03/03(水) 02:38:16にちゃんってまさか丸裸で繋いでるのかね?
0849デフォルトの名無しさん
2010/03/03(水) 03:16:14ttp://www.maido3.com/server/
ttp://www.maido3.cc/server/release/2010/201003011148.html
0850デフォルトの名無しさん
2010/03/03(水) 05:40:28プログラムをどのように書けばよいでしょうか?
0851デフォルトの名無しさん
2010/03/03(水) 07:24:350852デフォルトの名無しさん
2010/03/03(水) 08:46:25パターンマッチについて勉強しな
botやクローラと思われるもののパターンに当てはめて弾くという
泥臭い方法しかない
文字列もネットワークも抗ウィルスもみんな同じ
0853デフォルトの名無しさん
2010/03/03(水) 11:42:43F5連打も対応しておいたほうがいいかもな。
0854デフォルトの名無しさん
2010/03/03(水) 12:21:380855デフォルトの名無しさん
2010/03/03(水) 12:24:38http://colo-ri.jp/develop/2009/07/clawlerbot.html
0856デフォルトの名無しさん
2010/03/03(水) 12:29:19ネタだと思ったもれ
0857デフォルトの名無しさん
2010/03/03(水) 12:58:59中国、韓国にとってマスコミをコントロールできても1000万人が見る
ネットの掲示板でこれだけ民主の悪事を暴露され続けたらせっかくの
日本侵略計画が失敗しかねないから。
ここで法的な制裁を厳しく加えないと民主党に都合の悪いニュースや危険な
法案を通そうとする時に、こじつけの理由でサイバーテロを繰り返すように
なるだろう。
韓国は中国共産党の思惑通り反日思想や歴史捏造で冷静な思考が出来ず
に動いてしまっているが、このまま愚かな事を続けていると北朝鮮と同じ
道を辿るぞ。
0858デフォルトの名無しさん
2010/03/03(水) 13:00:180859デフォルトの名無しさん
2010/03/04(木) 10:14:390860デフォルトの名無しさん
2010/03/04(木) 10:30:35「旅費、向こうでの仕事、あと当面の生活費を要求するニダ!」
0861デフォルトの名無しさん
2010/03/04(木) 10:36:56特別在住許可は、南北分裂して帰りにくいから、特別に許可してやってるんだし
半島統一までは悪さしなけりゃ置いてやろうぜ。
統一したら置いてやる意味無くなるけどな。
0862デフォルトの名無しさん
2010/03/04(木) 11:31:370863デフォルトの名無しさん
2010/03/04(木) 12:12:02ローカルルール
この板はプログラムを作る人のための板です。
ネタ、板とは関係の無い話題はご遠慮ください。
0864デフォルトの名無しさん
2010/03/04(木) 19:52:450865デフォルトの名無しさん
2010/03/04(木) 21:55:240866デフォルトの名無しさん
2010/03/05(金) 00:33:18社長と患部がチョンとかw
0867デフォルトの名無しさん
2010/03/05(金) 00:53:27それで思い出した。
前の会社でチョンとの仕事した時に、2010年にバグるように仕込んでたわ。
今頃2000年になってるはずだが、どうなったかな。
0868デフォルトの名無しさん
2010/03/05(金) 01:38:440869デフォルトの名無しさん
2010/03/05(金) 05:02:04ipconfigコマンドで調べたIPアドレスを使用して、
同じパソコンで起動しているサーバに接続しようとしているのですが、
10061(接続を試みましたが、強制的に拒否されました。)
と表示されて繋がりません。
また、サーバプログラムを起動していなくても同じエラーが表示されます。
一体何が原因なのでしょうか?
0870デフォルトの名無しさん
2010/03/05(金) 07:34:470871デフォルトの名無しさん
2010/03/06(土) 02:47:510872デフォルトの名無しさん
2010/03/06(土) 16:12:50そんなおまえらがFirewallを作る時に参考にしたサイト教えれ
0873デフォルトの名無しさん
2010/03/06(土) 16:19:460874デフォルトの名無しさん
2010/03/06(土) 16:24:34イベント駆動のパターンってタスクシステムと同じだと思うんだけど、違うのかな?
筆者は閉じこもらずにゲームプログラミングのパターンとかも勉強したほうがいいと感じた。
特集自体はすごく分かりやすくまとめてあって役に立った
0875デフォルトの名無しさん
2010/03/06(土) 16:45:020876デフォルトの名無しさん
2010/03/06(土) 17:28:10読んでないからだろうが
>筆者は閉じこもらずにゲームプログラミングのパターンとかも勉強したほうがいいと感じた。
文章明快意味不明なんだが
0877デフォルトの名無しさん
2010/03/06(土) 18:27:39筆者乙
0878デフォルトの名無しさん
2010/03/06(土) 19:04:35>>874
お前もゲームばっか作ってないで勉強しろよ。
イベントドリブンなんて大昔からある。
0879デフォルトの名無しさん
2010/03/06(土) 19:26:54タスクシステムもイベント駆動パターンも、オリジナルの呼び方をすべき
0880デフォルトの名無しさん
2010/03/06(土) 20:08:50タスクシステムって呼ばれてるんじゃないの?
0881デフォルトの名無しさん
2010/03/06(土) 21:07:45> コルーチンみたいな"継続"をC/C++で強引にやろうとしたものが、
> タスクシステムって呼ばれてるんじゃないの?
で、そのコルーチンみたいな"継続"をC/C++で強引にやろうとしたものをなんて
呼ぶんだ?
0882デフォルトの名無しさん
2010/03/06(土) 21:26:43コルーチンはコルーチンだろ
Cのcoroutineってキモく感じるんだよな
defineにcase文がありライン番号で分岐させるって俺的には可視性が悪く
キモクがんじるんだよな。defineの悪用だろあれ
お前らもキモク感じるよな
0883デフォルトの名無しさん
2010/03/06(土) 21:33:20ちゃんとコンテキストを差し替える実装もあるぞ
GNU PCLとかな
0884デフォルトの名無しさん
2010/03/06(土) 21:34:04libpclに訂正する
0885デフォルトの名無しさん
2010/03/06(土) 21:49:09http://sourceforge.jp/projects/freshmeat_libpcl/
0886デフォルトの名無しさん
2010/03/06(土) 22:03:10そんなのあるのか。知らんかった。
これOS非搭載のマイコンで使えるのか?
0887デフォルトの名無しさん
2010/03/06(土) 22:20:010888デフォルトの名無しさん
2010/03/06(土) 22:51:090889デフォルトの名無しさん
2010/03/06(土) 23:00:420890デフォルトの名無しさん
2010/03/06(土) 23:01:38同じ機能の関数がひとつのシステムに存在していても許せるやつなんだな
おおらかでいいやつだけどプログラマとしては二流だよ
0891デフォルトの名無しさん
2010/03/06(土) 23:04:09>>874の雑誌に代表例がのってる。
こういうの調べてるだけでもすごいと思う
0892デフォルトの名無しさん
2010/03/07(日) 00:26:400893デフォルトの名無しさん
2010/03/07(日) 00:43:00OS非搭載のマイコンなら、それこそスタックレジスタ弄ればいいだけだろ・・・
0894デフォルトの名無しさん
2010/03/07(日) 01:23:29タスクシステムって呼ぶんだよ
0895デフォルトの名無しさん
2010/03/07(日) 01:24:510896デフォルトの名無しさん
2010/03/07(日) 01:29:55もう遅い
このすれでは タスクシステム も イベント駆動パター も コルーチン ってよぶことにきまったんだよ
0897デフォルトの名無しさん
2010/03/07(日) 01:33:540898デフォルトの名無しさん
2010/03/07(日) 01:46:25アホなこと言うな。コルーチンは独立した概念だ
イベント駆動、タスクシステムとはまったく別のものだ
つーか喧嘩すんならここでやるな・・・
0899デフォルトの名無しさん
2010/03/07(日) 02:01:19つ Sniffer
0900デフォルトの名無しさん
2010/03/07(日) 10:27:26難しい
0901デフォルトの名無しさん
2010/03/07(日) 12:59:25実装したものだけど、「タスクシステム」は単なるコールバック。
0902デフォルトの名無しさん
2010/03/07(日) 13:51:36イベント駆動パターン
にします
以上
0903デフォルトの名無しさん
2010/03/07(日) 14:37:000904デフォルトの名無しさん
2010/03/07(日) 15:41:190905デフォルトの名無しさん
2010/03/07(日) 15:41:570906デフォルトの名無しさん
2010/03/07(日) 16:30:31やってみろ。
手元でやったとしても、バイナリしかないプログラムの
暗号化された通信内容を覗くのは面倒な話だぞ。
どこになにがあるかわからないメモリを覗くのはもっと面倒だ。
しかもapacheみたいに解析のとっかかりになるソースが
あるわけじゃないから途方もない試行錯誤になるぞ。
0907デフォルトの名無しさん
2010/03/07(日) 17:10:060909デフォルトの名無しさん
2010/03/07(日) 17:55:590910デフォルトの名無しさん
2010/03/07(日) 18:34:19別にそんなことせんでも相手のデスクトップのSSとれば?
0911デフォルトの名無しさん
2010/03/07(日) 18:53:15んな事できねぇよw
0912デフォルトの名無しさん
2010/03/07(日) 19:16:22まあ、大富豪ごときで相手のPCに仕込むメリットは無いだろうが
0913デフォルトの名無しさん
2010/03/07(日) 20:01:590914デフォルトの名無しさん
2010/03/07(日) 20:27:190915デフォルトの名無しさん
2010/03/07(日) 20:34:45お前には一生勝てそうも無い('A`)
0916デフォルトの名無しさん
2010/03/07(日) 21:04:39│●│
└─┤
_ ∩
( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘ おっぱい!おっぱい!
0917デフォルトの名無しさん
2010/03/08(月) 12:55:48参考文献など教えていただけないでしょうか?
0918デフォルトの名無しさん
2010/03/08(月) 14:50:230919デフォルトの名無しさん
2010/03/08(月) 22:07:40大富豪でより勝ちやすくなるような支援ソフト(ツール)は作れるんじゃないか?
http://daihugostation.web.fc2.com/daihugotool.html
例えば↑みたいなのがあるけどこれだといちいち時間かかって実際ゲーム中にはかなり使いづらいよな?
だからこういうのをさくさくゲーム進めながらできるソフト(ツール)を作れば良いんじゃないか?
誰かできる人いる?
0920デフォルトの名無しさん
2010/03/08(月) 22:15:54対策とチートのいたちごっこが始まるだけだ
0921デフォルトの名無しさん
2010/03/08(月) 22:52:02冷静に考えたらカウンティングし放題だよな
0922デフォルトの名無しさん
2010/03/09(火) 00:02:21博打の胴元が見放題なのと同じ。
0923デフォルトの名無しさん
2010/03/09(火) 00:25:30そりゃ自分でやればなんでもアリだよな
それの何が楽しいの?馬鹿なの?
0924デフォルトの名無しさん
2010/03/09(火) 01:56:32オセロならコンピュータに代打ちさせると大体勝てる
0925デフォルトの名無しさん
2010/03/09(火) 02:20:090926デフォルトの名無しさん
2010/03/09(火) 05:32:010927デフォルトの名無しさん
2010/03/09(火) 09:14:250928デフォルトの名無しさん
2010/03/09(火) 13:25:13つか、なんでmanページすら読まねぇんだ。
0929デフォルトの名無しさん
2010/03/09(火) 14:03:450930デフォルトの名無しさん
2010/03/09(火) 15:19:380931デフォルトの名無しさん
2010/03/09(火) 16:02:54ロボコードみたいなもんやね。
オセロはつまらんけど、麻雀は燃える。
0932デフォルトの名無しさん
2010/03/09(火) 18:43:58違いについては書いてない。
使い道の参考になる違いが知りたい。
0933デフォルトの名無しさん
2010/03/09(火) 20:41:02epollのeはエッジのeです。
まぁエッジトリガなんざ使わんけどな!
無限待ちとかこえーし
0934デフォルトの名無しさん
2010/03/10(水) 13:38:010935デフォルトの名無しさん
2010/03/11(木) 08:10:57http://d.hatena.ne.jp/viver/20100224/p1
日記読んでれば解るけど、ここ2年ぐらいでKVSとかに興味持ち出して
自分でライブラリ書いてた子だね・・・
学習スピードが恐ろしく早い子だな
0936デフォルトの名無しさん
2010/03/11(木) 15:34:30筑波大がすばらしいのか、こいつだけが特別なのか。
0937デフォルトの名無しさん
2010/03/11(木) 16:33:44開発者(古田泰大)も筑波。
0938デフォルトの名無しさん
2010/03/11(木) 18:35:51学生なんだな。かなり優秀だな
優秀な学生はアメリカの優秀な大学院に行って、そこの恵まれた環境でさらに
能力を伸ばして欲しいものだな
0939デフォルトの名無しさん
2010/03/11(木) 18:40:040940デフォルトの名無しさん
2010/03/11(木) 18:45:10/__.))ノヽ
.|ミ.l _ ._ i.)
(^'ミ/.´・ .〈・ リ
.しi r、_) | 筑波大は(ry
| `ニニ' /
ノ `ー―i´
0941デフォルトの名無しさん
2010/03/11(木) 22:43:040942デフォルトの名無しさん
2010/03/11(木) 23:25:180943デフォルトの名無しさん
2010/03/12(金) 16:33:17研究にはいい所かもしれん。若い時にしか出来ない大切な機会を失う気もするけど。
0944デフォルトの名無しさん
2010/03/12(金) 23:20:340945デフォルトの名無しさん
2010/03/13(土) 04:21:340946デフォルトの名無しさん
2010/03/13(土) 13:45:54筑波の先生は
よく未到のマネージャーもやってたりするね
0947デフォルトの名無しさん
2010/03/14(日) 18:17:534Sだろ。
0948デフォルトの名無しさん
2010/03/15(月) 04:58:080949デフォルトの名無しさん
2010/03/16(火) 02:30:380950デフォルトの名無しさん
2010/03/16(火) 02:35:330951デフォルトの名無しさん
2010/03/16(火) 04:54:090952デフォルトの名無しさん
2010/03/18(木) 23:45:060953デフォルトの名無しさん
2010/03/19(金) 02:55:12JAVAでソケット通信をしてみたいと思っていて、
昔、JAVAネットワークプログラミングという本を買ったのだけどソースが長くて、
理解力がないのでよくわかんなかったんです。
ゲームプログラミングが趣味なので、アプレットでソケット通信を使ったゲームとチャットを作れればいいかなと思っています。
0954デフォルトの名無しさん
2010/03/19(金) 02:59:50あったんだけど、その程度の調査も人にやらせるつもり?
0955デフォルトの名無しさん
2010/03/19(金) 03:27:24954が教えてくれた本は名前が似てるけど別の本(OHM出版)。
とりあえずコメントありがと。
とりあえずソケット通信の関係の本は、クラスの説明がちょこっとしてあって、
後はいきなり完成したコードが載っているので、
少しずつコードをつけたしていって
プログラムをかける本だとわかりやすいかなと思う。
調査を人にさせてるみたいな感じだったらごめん。
0956デフォルトの名無しさん
2010/03/19(金) 03:30:30とりあえず本屋で「基礎からわかるTCP/IP Javaネットワークプログラミング」
を立ち読みして、わかりやすそうだったら買ってみようかなとおもってる。
田舎なんでコンピュータ関係の本がそろってる本屋があまりないのがつらい。
0957デフォルトの名無しさん
2010/03/19(金) 03:54:282,600程度の本も買うのに悩むくらいだったら、Webで入門ページ探して読んだら?
0958デフォルトの名無しさん
2010/03/19(金) 04:12:00くらい部屋にたまってる状態。
買った本のうちどのくらい読んだかというと実際熟読したのが20冊ぐらいで、
辞書代わりに使ったのが20冊ぐらいあとは買ったけどよくわかんないからそのまんまという状態。
AMAZONはすぐ届くんだけど、中身を確認してから買えないのがつらい。
結構プログラミングの本は、自分にある程度知識がないといい本でも読みこなせなかったりすると思う。
ところでWEBの入門ページって
ttp://www.hellohiro.com/socket.htm
みたいな感じかな。
0959デフォルトの名無しさん
2010/03/19(金) 07:12:59中身は本屋で見てから買えばいいだけ。
近くに本屋も無い田舎なら、都会の大きな本屋の近くに引っ越せ。
0960デフォルトの名無しさん
2010/03/19(金) 09:04:52まあ確かに大したゲームは作れそうにないのは認めるけど。
通信関係の技術ってセキュリティとか穴があったらまずいから
その辺の関係で初心者には難しく感じるんだろうか。
0961デフォルトの名無しさん
2010/03/19(金) 09:11:510962デフォルトの名無しさん
2010/03/19(金) 09:24:43素人にはちょっと敷居が高い技術なのかな。
0963デフォルトの名無しさん
2010/03/19(金) 10:25:57と言いつつセキュアド受かったことないけど
セキュリティーよりハック対策が大変じゃないか?
0964デフォルトの名無しさん
2010/03/19(金) 10:31:110965デフォルトの名無しさん
2010/03/19(金) 10:40:420966デフォルトの名無しさん
2010/03/19(金) 13:22:06これはひどい
0967デフォルトの名無しさん
2010/03/19(金) 13:24:030968デフォルトの名無しさん
2010/03/19(金) 14:34:32レンタルサーバも大変だな
0969デフォルトの名無しさん
2010/03/19(金) 14:50:11さくらオススメw
http://internet.watch.impress.co.jp/cda/news/2008/06/04/19812.html
0970デフォルトの名無しさん
2010/03/19(金) 15:15:48専鯖なら自分一人だが、共用鯖だと大迷惑。
0971デフォルトの名無しさん
2010/03/20(土) 00:11:500972デフォルトの名無しさん
2010/03/20(土) 00:15:020973デフォルトの名無しさん
2010/03/20(土) 00:54:310974デフォルトの名無しさん
2010/03/20(土) 00:58:08一度、自分で運用してみな?
0975デフォルトの名無しさん
2010/03/20(土) 04:07:33帰ってくれるようだから何も言わないけれども
0976デフォルトの名無しさん
2010/03/20(土) 09:13:43集合住宅に一人でも気違いが入れば、停電したりぼや騒ぎで騒がしく成るのと同じ。
0977デフォルトの名無しさん
2010/03/20(土) 09:17:120978デフォルトの名無しさん
2010/03/21(日) 04:03:48にちゃんやってる男の人ってちょっと(ry
0979デフォルトの名無しさん
2010/03/21(日) 15:28:18自分は、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 を読むと良いよ。
0980デフォルトの名無しさん
2010/03/21(日) 18:13:53パチンコやってる男の人ってちょっと(ry
0981デフォルトの名無しさん
2010/03/21(日) 18:17:13そして、結婚してない貴族を夫婦で罵り合う最低の集まりって世間一般では定義されてる
0982デフォルトの名無しさん
2010/03/21(日) 18:18:40代案を出せ
0983デフォルトの名無しさん
2010/03/21(日) 18:29:360984デフォルトの名無しさん
2010/03/21(日) 19:03:07\∧_ヘ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!! ,,、,、,,,
/三√ ゚Д゚) / \____________ ,,、,、,,,
/三/| ゚U゚|\ ,,、,、,,, ,,、,、,,,
,,、,、,,, U (:::::::::::) ,,、,、,,, \オーーーーーーーッ!!/
//三/|三|\ ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
∪ ∪ ( ) ( ) ( ) )
,,、,、,,, ,,、,、,,, ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
,,、,、,,, ( ) ( ) ( ) ( )
0985デフォルトの名無しさん
2010/03/21(日) 19:34:28二次元の世界に引っ越す
0986デフォルトの名無しさん
2010/03/21(日) 20:35:35http://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バリのゲーム開発可能?
0987デフォルトの名無しさん
2010/03/22(月) 10:31:570988デフォルトの名無しさん
2010/03/22(月) 12:16:02acceptで渡した構造体に情報が入ってるらしいけど
どうやって文字列にするのかわからん
0989デフォルトの名無しさん
2010/03/22(月) 12:31:010990デフォルトの名無しさん
2010/03/22(月) 12:55:33ヽ(・ω・)/ ズコー
\(.\ ノ
、ハ,,、  ̄
0991デフォルトの名無しさん
2010/03/22(月) 22:01:330992デフォルトの名無しさん
2010/03/22(月) 22:21:08ありがとう。
頑張ってみる。
0993デフォルトの名無しさん
2010/03/23(火) 00:36:190994デフォルトの名無しさん
2010/03/23(火) 19:33:12新スレを立ててね
0995デフォルトの名無しさん
2010/03/23(火) 19:36:390996デフォルトの名無しさん
2010/03/23(火) 19:51:590997デフォルトの名無しさん
2010/03/23(火) 20:46:00http://pc12.2ch.net/test/read.cgi/tech/1269343909/
0998デフォルトの名無しさん
2010/03/23(火) 21:55:15\∧_ヘ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!! ,,、,、,,,
/三√ ゚Д゚) / \____________ ,,、,、,,,
/三/| ゚U゚|\ ,,、,、,,, ,,、,、,,,
,,、,、,,, U (:::::::::::) ,,、,、,,, \オーーーーーーーッ!!/
//三/|三|\ ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
∪ ∪ ( ) ( ) ( ) )
,,、,、,,, ,,、,、,,, ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
,,、,、,,, ( ) ( ) ( ) ( )
0999デフォルトの名無しさん
2010/03/23(火) 21:55:57\∧_ヘ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!! ,,、,、,,,
/三√ ゚Д゚) / \____________ ,,、,、,,,
/三/| ゚U゚|\ ,,、,、,,, ,,、,、,,,
,,、,、,,, U (:::::::::::) ,,、,、,,, \オーーーーーーーッ!!/
//三/|三|\ ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
∪ ∪ ( ) ( ) ( ) )
,,、,、,,, ,,、,、,,, ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
,,、,、,,, ( ) ( ) ( ) ( )
1000デフォルトの名無しさん
2010/03/23(火) 21:56:38\∧_ヘ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!! ,,、,、,,,
/三√ ゚Д゚) / \____________ ,,、,、,,,
/三/| ゚U゚|\ ,,、,、,,, ,,、,、,,,
,,、,、,,, U (:::::::::::) ,,、,、,,, \オーーーーーーーッ!!/
//三/|三|\ ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
∪ ∪ ( ) ( ) ( ) )
,,、,、,,, ,,、,、,,, ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
,,、,、,,, ( ) ( ) ( ) ( )
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。