ネットワークプログラミング相談室 Port6
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNGProgramming UNIX Socket FAQ (日本語訳)
http://www.kt.rim.or.jp/~ksk/sock-faq/indexj.html
Winsock Programmer's FAQ
http://tangentsoft.net/wskfaq/
過去スレ:
Port1 http://pc.2ch.net/tech/kako/970/970344582.html
Port2 http://pc.2ch.net/tech/kako/1006/10062/1006258198.html
Port3 http://pc3.2ch.net/test/read.cgi/tech/1023359282/
Port4 http://pc3.2ch.net/test/read.cgi/tech/1034236536/
Port5 http://pc2.2ch.net/test/read.cgi/tech/1040220302/
関連リンクは>>2-10辺り
0002デフォルトの名無しさん
NGNG0003デフォルトの名無しさん
NGNGUNIXネットワークプログラミング〈Vol.1〉ネットワークAPI:ソケットとXTI
http://www.amazon.co.jp/exec/obidos/ASIN/4894712059/
詳解TCP/IP〈Vol.1〉プロトコル
http://www.amazon.co.jp/exec/obidos/ASIN/4894713209/
The Implementation (TCP/IP Illustrated, Volume 2)
http://www.amazon.co.jp/exec/obidos/ASIN/020163354X/
Linuxソケットプログラミング―ネットワークプログラミングにおける実践技法
http://www.amazon.co.jp/exec/obidos/ASIN/4894714671/
足りなかったら適当に付け足してね
0004デフォルトの名無しさん
NGNGJPNIC RFC関連リンク集
http://rfc-jp.nic.ad.jp/link/
RFC 2616 "Hypertext Transfer Protocol -- HTTP/1.1" 日本語訳
http://www.studyinghttp.net/rfc_ja/2616/rfc2616_ja.html
C10K ヘヴィーロードサーバ
http://www.kegel.com/c10k.html
TCP/IPによるネットワーク構築〈Vol.3〉―クライアント‐サーバプログラミングとアプリケーション
http://www.amazon.co.jp/exec/obidos/ASIN/4320028007/
Webプロトコル詳解―HTTP/1.1、Webキャッシング、トラフィック特性分析
http://www.amazon.co.jp/exec/obidos/ASIN/4894715414
tcpdump
http://www.tcpdump.org/
Windump
http://netgroup-serv.polito.it/netgroup/tools.html
pathchar
ftp://ftp.ee.lbl.gov/pathchar/
pchar
http://www.employees.org/~bmah/Software/pchar/
MSDN
http://msdn.microsoft.com/library/en-us/dnsitehelp/html/tochelp.asp
0005デフォルトの名無しさん
NGNGhttp://www.kt.rim.or.jp/~ksk/wskfaq-ja/
0006デフォルトの名無しさん
NGNGhttp://www.imasy.or.jp/~masaka/rfc-jp/
0007デフォルトの名無しさん
NGNG漏ツカレ
0008デフォルトの名無しさん
NGNG最近BIGL○BEのサイトが応答しなくなったぞ。
FlushGetもダメみたいだ。
情報求む。
0009デフォルトの名無しさん
NGNGプロバイダ板(isp)へGO!
0010デフォルトの名無しさん
NGNGとりあえずこっちで質問させて下さい。
Winsock1.1である程度組んでしまったのですが、
プロトコルはTCP/IPのみと言う事を前提とした場合
今からSock2に直すメリットはあるのでしょうか?
0011デフォルトの名無しさん
NGNGというよりも、
versionに依存しないプログラミングを心掛けよ。
依存せざるをえない部分は可能な限りポータブルにするよう心掛けよ。(wrapping等)
リリースノートの前のバージョンとの変更点を精読せよ。
以上。
ネットワークに関する具体的な要件、条件がないのだから、
以上のようなスレ違いの答えしか書けない。
0012デフォルトの名無しさん
NGNG0013デフォルトの名無しさん
NGNG0014デフォルトの名無しさん
NGNG0015デフォルトの名無しさん
NGNG0016デフォルトの名無しさん
NGNG0017デフォルトの名無しさん
NGNGむかーしのCマガジンのサンプル見て、
メールを送信するプログラムを打ち込んだらうまくいきました。
WindowsのWinsockです。
でも、よく見ると、そのサンプルは下のようなコードの繰り返しがあります。
sprintf(szBuffer, "MAIL FROM:HOGE\r\n");
err = send(s, szBuffer, strlen(szBuffer), 0);
memset(szBuffer, '\0', sizeof(szBuffer)); //この理由はわからない
recv(s, szBuffer, sizeof(szBuffer), 0);
HELOを送ったりMAIL FROM:を送ったり、でわかるのですが、
errを使ってないなのです。(続きます。)
0018続きです
NGNGvoid Send(SOCKET s, char* buffer){
int err;
err = send(s, buffer, sizeof(buffer). 0);
if(err == SOCKET_ERROR){
printf("Error\n");
exit(-1);
}
}
みたいのを作って、上のコードを
sprintf(szBuffer, "MAIL FROM:HOGE\r\n");
Send(s, szBuffer);
memset(szBuffer, '\0', sizeof(szBuffer)); //この理由はわからない
recv(s, szBuffer, sizeof(szBuffer), 0);
にしたら、とたんに、メールを送れなくなってしまいました。
(コンパイルもでき、起動もし、正常終了します。)
なんでこうなるんだか狐につままれているようです。
何か、根本的なところで間違っているのでしょうか?
0019デフォルトの名無しさん
NGNG0020デフォルトの名無しさん
NGNG[sink]
はどう訳せば言いのですか?
002118
NGNGどひゃー。
はずかしーです。strlenに直したら動きました。
ばかな質問でスレを汚してしまいました。
すみませんでした。
俺という人間そのものが根本的に間違ってました。
ありがとうございます。
0022デフォルトの名無しさん
NGNGSMTPではそういうことはないかもしれんが
0023デフォルトの名無しさん
NGNGまさしく自問自答。文末は曖昧。
0024デフォルトの名無しさん
NGNGtelnetアクセスができるので
telnetでアクセスしてログを取得しようと思うのですが
ネゴシエーション部分の仕様がよくわかりません
IAC DO TERMINAL-SPEED
に対して
IAC SB TERMINAL-SPEED SEND IAC SE
という例がRFC1079にあったのですが
IAC DO TERMINAL-SPEED IAC DO TERMINAL-TYPE ... '\0'
のように送られてくる場合
IAC SB TERMINAL-SPEED ... IAC SB TERMINAL-TYPE ... '\0'
と送り返せばいいのでしょうか?それとも
IAC SB TERMINAL-SPEED ... '\0'
IAC SB TERMINAL-TYPE ... '\0'
でしょうか?それとも他にコードが必要なのでしょうか?
Borland C++ Builder でClientSocketを使っているのですが
そっちの使い方が悪い可能性もあるので
原因がつかみきれていません
他言語でも、参考になるものがありましたらご教示お願いします
よろしくお願いします
0025デフォルトの名無しさん
NGNG通常、サイトが更新されたかどうかって「Last-Modified」で
判断すると思うんですけど、必ず返してくれるとは限りませんよね?
その場合どうしたらいいんでしょうか?
0026デフォルトの名無しさん
NGNG返してもらえないんだったら
どうしようもないじゃん。
0027bloom
NGNG002825
NGNGApacheはデフォルトでは「Last-Modified」返さないと聞きました。
返すように指定できるヘッダーとかあるのでしょうか?
通常IEなどのブラウザではどのように処理しているのでしょうか?
0029デフォルトの名無しさん
NGNG前にGETしたものと比較する。
0030デフォルトの名無しさん
NGNGと来て
>通常IEなどのブラウザではどのように処理しているのでしょうか?
IEはリンクチェッカーじゃないし
チェックできないのなら全部読み出せばいいだけ
他人の作った同種のソフトを見ればそんな疑問など
脳味噌の片隅のも浮かばないはずだが
作ろうとするのならその手のソフトの設定項目ぐらい確認しろ
0031BSDソケ太
NGNGhttp://www.studyinghttp.net/rfc_ja/2616/sec13.html#sec13.3
http://www.studyinghttp.net/rfc_ja/2616/sec14.html#sec14.25
テンプレくらい見た方が良いと思われ
0032デフォルトの名無しさん
NGNG質問自体からは逸れるが
>Apacheはデフォルトでは「Last-Modified」返さないと聞きました。
なんだそりゃ。
staticなページなら返すよ。
SSIやCGIなんかだとデフォルトじゃ返さないけどね。
0033デフォルトの名無しさん
NGNG確かに返して当然だな。
つーか、Apacheのシェアとか考えたら>>28のようなことは
信じられないな。
世の中のWEB Serverの半分以上がLast-Modifiedを返さないことに
なってしまいそうだし。
まあ、まともな鯖管ならデフォルトで使うなんてありえないけど。
003428
NGNGなんとかならないかなーと思いまして。
リンクチェックした時にページ毎にLast-Modifiedを保存しておき、
(Last-Modifiedが無ければチェック時の時刻を保存)
次回リンクチェックするときに、HEADで「If-Modified-Since 保存時刻」
を送るというのはどうでしょうか?
0036デフォルトの名無しさん
NGNGソケットが使えるようだぞ。
http://www5e.biglobe.ne.jp/~liquor/
サンプル付いてるから、突っ込みよろ。
0037デフォルトの名無しさん
NGNGGETでアクセスしてLast-Modifiedがなかったらページを保存して
前にGETしたものと比較すればいい。
どうしてわざわざ負荷を2倍にする必要がある?
(HEADだから2倍までは行かないか)
>>34
HEADにIf-Modified-Since付けるのは禁止されてる。意味ないし。
読めって言ってるだろ(>>31)。
0038デフォルトの名無しさん
NGNG本当?
0039デフォルトの名無しさん
NGNG書籍の「Winsock 2.0」やMSのサンプルを見ながらI/O完了ポートを利用して実装してみました。
データ交換は出来るようになったのですが、サーバーとクライアントを同じPCで実行している時と、他のマシンと分けて実行した時では、ReadFile,WriteFileの処理クロックが変わってしまいました。
後者では倍ほど遅くなりました。
チューニング目的で、接続クライアントの状況が変わるとCPU占有率も変わるのか、それとも単にLANの使用目的でシステムがCPUを使用していたのか知りたくなりました。
LANのチップはSisのマザーにオンチップのRealTechのRTL-8139(A)でOSはWin2kProです。
winのシステム内部にも疎くて、ボトルネックがあるかも分からないのですが、高速化の方法があったら情報を下さい。
クライアントの送受信間にSleepを入れたりしてみましたが、CPU使用率は変わりませんでした。(非同期化はOK?)
クロックの測定はrdtsc命令を使って測っています。
他スレッドが完了ポートキューを見張っていますが、測定ではデータ処理は行ってません。
サーバーからは1クライアントにつき秒間320バイト、逆は秒間140バイト送信しています。
プロセスが別PC上だと、サーバー側では1秒間に100クライアント当たりのRealFile、WriteFile実行に90MClock必要でした。
理由がわからないのですが、1クライアント当たり秒間90万Clock、1通信当たり9万Clockも使用しています。
32バイトを転送し、14バイトの受信を行うソケットの処理に9万clockも必要なんでしょうか?
情報不足の突っ込みお願いします。
0040デフォルトの名無しさん
NGNGReadTechのRTL-81xx系はインテリジェンスタイプで、、_| ̄|○
VGAカードのハードウエアT&Lよろしくソフトで頼むと自動でやってくれるようなのがいいですね。
これまでNICの転送量で困った試しは無かったので、、サーバー用途の製品はやはり高価、、ですよね、、すいません_| ̄|○
3COMのGイーサネット辺りを買ったら買ったら改善するでしょうか?
とりあえず、3COMサイトのフィーチャー辺りを調べてみます。
004139の人
NGNGバッファのコピーを数回行ったとして、1000クロックぐらいにならないでしょうか。
0042デフォルトの名無しさん
NGNG0043デフォルトの名無しさん
NGNG1CPUのマシン?
外部との通信がはいったらそれくらいが妥当な性能だと思う。
ローカル内だとWinsock内で片付けられることもあるだろうし。
004439の人
NGNGTCP/IPで1CPUです。
「このデータをTCPIPでIP何番に送っといてくださいね、終わったら通知下さい。」とデバイスに頼むようなシステムは無いんでしょうか。
ゲーム会社が何で苦労しているのか分からないので作り始めたプログラムですが、そこらのPCで行うと電気とCPUの無駄ということでしょうか?
分岐ならミスだけでも千回行える数字ですから、数十バイトの送受信にCPUで数万clockもかかるとなると相当に非効率かなと感じました。
でも、こんなこと考えない筈は無いし、きっと出来ない訳があるんですね。
UDPも試してみます。
他にMSのサンプルに書いてあった為ですが、自分でもWriteFile使っているのが気になりました。
WriteFileはファイルについても使用できるようなので、WSA系を使うのが妥当ですよね。(遅くなりそうな予感が、、)
0045デフォルトの名無しさん
NGNG004639の人
NGNGWSAとReadFile,WriteFileなのですが、結果から言うとWSAが早くなりました。
前者は1秒間に100クライアントと通信して35Mclockでした。
後者は同じ条件で39Mclockでした。
先ほど書いたLANカードはREALTEKでReadTeckではありませんでした。
ノンインテリジェンスタイプで、サポートに苦情がくるのはこれに限るとの評判らしいです。
LANチップが違うPCでも試してみようと思います。
004739の人
NGNG書き忘れましたが、違うPCにクライアントプロセスがあった場合もWSAが同様に早くなりました。
こちらも100クライアントに1秒間辺り80M程度使用していました。
M以下切り捨てで76M(WSA, Clock):80M(R/WFile, Clock)でした。
004839の人
NGNG前の測定はループや分岐の除外を自分で計算していたのであまり厳密でなかったので測り直しました。
前の数値は平均とは言いがたいものでしたので、今回は120秒の合計クロックを割ってみました。
具体的に以下のようになります。小数第3桁を四捨五入しています。
start = rdtsc();
writefile(......)
finish = rdtsc();
diff += finish - start;
かかったクロックなのですが、関数毎に調べました。
ReadFile 4.75M/Sec 100Client
WriteFile 27.65M/Sec 100Client
WSARecv 5.36M/Sec 100Client
WSASend 24.52M/Sec 100Client
セットで、関数のみ測ると
R/WFile 34.1M/Sec 100Client
WSA 29.8M/Sec 100Client
RFile+WSASend 29.4M/Sec 100Client
となりました。
RFileとWSASendを使うとWSAのセットに比べても1.3%処理時間が短縮する訳で、、頭が痛いです。
環境やコンパイラによって変わると思いますが、、。
004939の人
NGNGReadFile 8.7M/Sec 100Client
WriteFile 61.2M/Sec 100Client
WSARecv 6.45M/Sec 100Client
WSASend 57.0M/Sec 100Client
セットで、関数のみ測ると
R/WFile 71.8M/Sec 100Client
WSA 63.4M/Sec 100Client
RFile+WSASend 66.2M/Sec 100Client
現金ですがWSAを使えってことでしょう。
0050デフォルトの名無しさん
NGNGそこまでスループット気にする処理作ってんの?
単に、技術的な興味があるだけ?
005139の人
NGNGプログラム全体のスループットが1/2になればサーバーとしては倍の速度のものを使用しているのと同じ事です。
あたりまえですが、存在するCPUの周波数には上限があるので、スループットが上昇しなければそれ以上は処理出来ません。
「処理時間の90%は10%のコードが使用する」と某有名書籍に書いてあるように、その10%をアルゴリズム改良なり、アセンブラなどで最適化を施すと、プログラムが数分の一の速度で動作するようになる場合もあります。
2台で処理するとなると、サーバー本体の代金+電気代(200Wを1年間つけっぱなしだと3万5千円ぐらい)が必要になるでしょう。
管理労力も増えますし、部屋は暑くなりますし良いことは無いと思われます。(冬はあったかかったですが)
今までそういった考えを持たずにやってきたのですが、私の作れるプログラムはヘボで碌に処理をしません。
最近悔い改めてようかと考えている訳ですが、、万策尽きたところでUDPに_| ̄|○
0052デフォルトの名無しさん
NGNG0053デフォルトの名無しさん
NGNGすまん禁止されてるのはHTTP/1.0だけだった
0054デフォルトの名無しさん
NGNGうまく行きません。
なにか、分かるかたいましたら、教えてください。
よろしくお願いします。
0055デフォルトの名無しさん
NGNGWin上で
int hoge = 1;
ioctlsocket(fd,FIONBIO,&hoge);
以上のようにして非ブロッキングモード(非同期?)にしています。
しかし今現在非ブロッキングモードかどうかを
判定する関数が分かりません。
WSAIsBlocking();
かと思ったのですが結果が違いました。
どなたか博識な方 お教え頂けるとありがたいです。
Linuxの場合は
int flag = fcntl(fd, F_GETFL, 0);
とやってflags & O_NONBLOCKで判定していました。
0056デフォルトの名無しさん
NGNGそんなに通信に専念させちゃっていいんですかね。
005739の人
NGNGなんとなく原因個所が特定された訳で、、。
>>56
駄目なんで対策を探していたようで、見つからなかったのでTCP/IPでは諦めたという次第で、、。
100クライアントで60Mっていうのは、直線で負荷が上がったとしても2000クライアントなら既に1.2Gな訳で、、。
どちらかというと計算がメインな筈なので現実的ではないですね。
プログラムをいじらずに情報集めに専念しているところで、「WinSock2.0」のDODモデル辺りの記述を読み直しました。
TCPの機能を見るに、、これだけ遅くて当然かもなと思いました。
WINのTCP/IPを利用するソフトウエアを成り立たせているTCPやIPのルーチンを作成したのもMSな訳ですよね。
NICのドライバーを作成した方なら分かる筈ですが、私は未だNICへOSのインターフェイスがどれだけ提供されているか知りません。
現時点でボトルネックがどこに存在するのか分からないです。
TCPによるデータグラム分割、再送などの時点か、ブリッジやPCIバス経由の時点か、NICの転送能力の問題か。
OSのインターフェイスがTCPで時間が掛かる処理をハードに投げられるようになっていて、かつそういった機能を提供するデバイスがあれば、処理が劇的に高速化するでしょう。
それ以外なら、現在の環境でTCP/IP上で目的を果たすプログラムを作成するのは物理法則を無視しない限り不可能ではないかと。
42,43の方がおっしゃっているUDPで転送にオーバーヘッドが著しく掛からないなら、TCPの機能を果たす時点でクロックを大量に消費していると思われます。
UDPで実装すれば引き算の問題になるので、判明するかなと。
不明としている点で、何か情報があれば教えていただけると嬉しいです。
0058デフォルトの名無しさん
NGNG0059デフォルトの名無しさん
NGNG0060デフォルトの名無しさん
NGNG仕事でそれやってると給料減らされる場合もあるけど(w
>>39
ボトルネックは普通のPC(だよね?)を流用してるとこもあるんじゃないかと。
0061デフォルトの名無しさん
NGNG0062デフォルトの名無しさん
NGNG簡単なサーバ側とクライアント側のPGを作成しています。
コマンドボタン1のクリックで、connect
コマンドボタン2のクリックで、データ送信
だと上手く行くのですが、
コマンドボタン1のクリックで、connect→データ送信
とすると、エラーがでます。
データ送信時に、接続が完了していないのが原因だと思いますが
どうすれば、ひとつのアクションで、接続とデータ送信ができますでしょうか?
0063デフォルトの名無しさん
NGNG0064デフォルトの名無しさん
NGNGとあるページにこんな説明がありました。
複数の演算機用で計算の途中結果をやり取りをするようです。
プログラマブルのNICみたいですね。
スイッチもハブでは遅くて、Ethernet switchというのがあるとか。
OSに付属するTCPやIPなどは介しないんではないでしょうか。
私が欲しいのもズバリこれですが、機能がTCP/IP/Ether固定で安いやつないですかね。
0.7M円もします、、0.07Mならなんとか(死
0065デフォルトの名無しさん
NGNGMyrinetの値段も違ってました。
17〜30万ぐらいらしいです。
0066デフォルトの名無しさん
NGNGなにを言ってるのかわからない。
ふつうのGbEとスイッチならビックカメラにでもいけば普通に売ってるが、
OSのTCP/IPの実装が重過ぎるのがけしからんといってたんじゃないの?
>>39じゃなかったらスマン。
0067デフォルトの名無しさん
NGNGいえ、39ですよ。
OSのTCPの実装が重いのではなくて、仕様がそうなっているわけで仕方が無いと言った記憶しかありません。
私はMSは好きではありませんが、VCなんかを使っているとプログラマもとても無能とは思えないので、TCPの実装が得に駄目とは考えません。
そういう事で私が今回の試みでTCPを使うのを止めようと言った訳です。
64ではMyrinetはいわゆるネットワーク用の演算プロセッサが搭載されていると言っています。
TCPの実装が重くても、必要な演算をCPUで行わなければあまり問題は無い(コストはかなり問題)です。
恐らくMyrinetは↓のようなことが出来るデバイスです。(プログラムサイズが足りるかなどは知りませんが)
「このデータをTCPIPでIP何番に送っといてくださいね、終わったら通知下さい。」(前書いたやつ)
そのようなデバイスがありふれていないのは世の中のPCが低レイテンシの通信を必要とするような用途に使われないためでしょう。
下記はクラスタに関する資料ですが、TCPのデータサイズに対するレイテンシのグラフもあります。
www.softek.co.jp/CID/Presen/PDF/comm-lib.pdf
↑同じ悩みを持つ方々がいるようですが、独特なプロトコルを使うと相手が受け取れません_| ̄|○
0068デフォルトの名無しさん
NGNGブロッキングすれば?
0069デフォルトの名無しさん
NGNGしかたがねぇな、ダメな見本としてしょぼい事を書いてやるか。
Private Sub Command1_Click()
Winsock1.Close
Winsock1.Connect "127.0.0.1", 1001
Do While Winsock1.State <> sckConnected
DoEvents
Loop
Winsock1.SendData "test"
End Sub
Private Sub Winsock1_SendComplete()
Winsock1.Close
End Sub
0070デフォルトの名無しさん
NGNGMMORPGでも作ってるんですか?
0071デフォルトの名無しさん
NGNGperlだと定番があるみたいなんですが。
調べたらIBMのICUってのだけ見つかったんですが、これって
みなさん使ってます?もっといいのがあったら教えてください。
0072デフォルトの名無しさん
NGNGググればたくさんヒットするから再調査したほうが良いと思うけど、
nkf,wkf,qkcとかCで書かれたプログラムは色々あるから
ライセンス確認してパクれば?
jcode.plに匹敵する知名度のものは知らない。
0074だったら答えるなよ、タコ。
NGNG0075デフォルトの名無しさん
NGNGちゃんと組むなら、タイマコントロール辺り使って「一定時間たってもConnect
イベント来なかったら諦める」ようにした方がいいけど。
0076デフォルトの名無しさん
NGNGUnicode系にはくれぐれも気を付けろよ。
基本的に非Unicode->Unicodeってやったら、逆変換は
必ず同じライブラリを使うこと。
外から素性の知れないUnicodeがやって来たら、もう
どうしようもないけど。
007762
NGNGありがとうございました。
DoEventsがポイントでした。どうもでした。
0078デフォルトの名無しさん
NGNG007962
NGNGどこがまずいのでしょう?
>>75
そうですね、そのあたりも気を付けたいと思います。
ところで、みなさんWinSockコントロールを使わずに
API?を直接つかってコーディングしているみたいですが、
なぜでしょうか?
VBのがWinSockコントロールのほうが、簡単だと思うのですが、、、
0080デフォルトの名無しさん
NGNGまさかあのソースをそのまま採用したわけじゃあるまい?
タイムアウトもキャンセルもエラー処理もないし。
あと、DoEventsとSleepを両方つかうかな。気休めかもしれんが。
APIとWinSockコントロール云々は、違いをみればわかるのでは。
0081デフォルトの名無しさん
NGNG鯖管は嫌いですが、MMOのサーバープログラムには興味があります、、。
UDPで14バイトを秒間20000送信で、Send側で850Mhz消費という結果が、機能を考えるとオーバーヘッド軽減も微妙です。
あと、再起動をしようがパケットを送りつけると無条件に受け取ってしまうPC君に萎えました。
しかも、WINのIPフィルタをONにしつつも、WinSock使用のソフトウエアが受け取っている場合より負荷がかかってしまうのは謎です。
NICやルーターでフィルターかませないとアタックされたら死ねますね。
うちのルーターは設定かえる再起動となるので、、、。
アタック->IPフィルタ設定->サービス停止->モツカレ(゚Д゚)
0082デフォルトの名無しさん
NGNG0083デフォルトの名無しさん
NGNGアタック->IPフィルタ設定->サービス停止->再起動->不正パケット通過->サービス不能->モチュカレ
だな
0084デフォルトの名無しさん
NGNG金とらなきゃやってられない製品になったら業務用の製品使わざるをえんだろ・・・
0085デフォルトの名無しさん
NGNG吉報そうな情報と言えば、去年の暮れ辺りからDOS遮断機能付きのBBルータが各メーカーから既存の価格で出てきたようです。
競争の一環でしょうけど、こういった機能が世の中のニーズ(死語?)になって発展をみれば私は恩恵を受けれそうです。
どちらにせよ、WinSockでDosアタックを考慮に入れるのは無茶ですね。
0086デフォルトの名無しさん
NGNG0087デフォルトの名無しさん
NGNGRFC2553をざっと目通しても書いて無いようでした。
識者の方教えてくだちい。
環境は Windows、Linuxでふ。
Windowsの場合: 0リターンでローカルアドレスが第4引数で戻る。
Linuxの場合: エラー。
と、なりますた。
008887
NGNG以下、Winで試したコード
#include <winsock2.h>
#include <ws2tcpip.h>
#include <tpipv6.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
int ret = 0;
struct addrinfo hints, *res = NULL;
WSADATA data;
WSAStartup(MAKEWORD(2, 0), &data);
memset(&hints, 0, sizeof hints);
hints.ai_family = AF_INET;
hints.ai_flags = AI_PASSIVE;
hints.ai_socktype = SOCK_STREAM;
ret = getaddrinfo("", "ftp", &hints, &res);
if (ret != 0) {
printf("getaddrinfo error\n");
printf("%s\n", gai_strerror(ret));
printf("ret: %d\n", ret);
}
else {
printf("success\n");
}
return 0;
}
0089ヽ(´ー`)ノ
NGNG手元の Linux 2.4.20 だと EAI_NONAME、FreeBSD 4.8 だと EAI_NODATA が返ってきたけど(笑)。
検証したコード。ちなみに res は NULL だった。
int main()
{
int ret = 0;
struct addrinfo hints, *res = NULL;
memset(&hints, 0, sizeof(hints));
hints.ai_family = AF_INET;
hints.ai_flags = AI_PASSIVE;
hints.ai_socktype = SOCK_STREAM;
ret = getaddrinfo("", "ftp", &hints, &res);
if (ret != 0) {
printf("getaddrinfo error\n");
printf("%s\n", gai_strerror(ret));
printf("ret: %d\n", ret);
printf("%p\n", res);
} else {
printf("success\n");
}
return 0;
}
winsock の挙動はいくら何でもおかしいだろう。
> Linuxの場合: エラー。
segmentation fault でも起こした?
009087
NGNG非0 を期待していたら、Windows 2000とWindows XP上では 0が返ってきて正常終了処理に入ってしまったのでつ。
>> Linuxの場合: エラー。
>segmentation fault でも起こした?
あ、これは非0が返ってきたってことですた。この動作は期待通りでいいでつが、Windowsがねぇ。
現在は if (ノードがNULLでない && strlen(ノード) == 0) だったら、という処理を入れてお茶を濁してまつ。(´・ω・`)
検証ありがとうございます>89
0092デフォルトの名無しさん
NGNG0093デフォルトの名無しさん
NGNGif (node && !*node)
0094デフォルトの名無しさん
NGNG009590
NGNGヲット、そうでつね。
>94でいきまつ。
0096デフォルトの名無しさん
NGNG0097デフォルトの名無しさん
NGNG0098デフォルトの名無しさん
NGNGCプログラマはタイプ数が少ないほうが好きな人が多いんじゃないかなぁ
PascalとかVerilogとかがbeginとendで複文を囲むのに対して
Cでは{と}で複文を囲む辺りなんかを見てもそう思う
009994
NGNGchar *p = malloc(100);
if (p) {
....;
}
とかやってたけど、ある日、実はものすごい読みにくい事に気がついて
>>94 のスタイルにした。でも !*node は流石に無いよなぁ。
010093
NGNG読みにくいかな? 俺にはそのコードで十分、分かりやすいけど...。
ただ、気になってるのは >>93 みたいなコーディングでも、
C として正確なのかなぁ? と。
自分で自信がなかったりするもんで。
でも、確かに !*node なんて記述は普段やったことないです。
せいぜい *node == '\0' かな。
0101デフォルトの名無しさん
NGNGんなぁことない。
begin end と {} については、ありゃぁ殆ど慣れの問題だ。
0102デフォルトの名無しさん
NGNGんなことない
0103デフォルトの名無しさん
NGNG0104デフォルトの名無しさん
NGNG0105デフォルトの名無しさん
NGNGLinux で socket 使ってますが、受信バッファを
クリアする関数ってないようなのですが・・・
無効なコマンドが到着したらバッファクリアしたいよー。
0106デフォルトの名無しさん
NGNG0107デフォルトの名無しさん
NGNGデータで上書きされるんだし。
クリアしたいなら、bzero(buf, sizeof(buf));
とかやっとけば? ゼロクリアの場合だけど。
0108デフォルトの名無しさん
NGNGあぁ・・・
質問の仕方がマズーですね。
アプリ側のバッファじゃなくて、socket の受信バッファなんですけど・・・
受信ルーチンであるサイズ分のデータだけ読んで
正常コマンドなら残りを読むって作ってます。
んで、未知のコマンドなら socket バッファに残ってる分をクリアしたい、と。
socket バッファより大きなデータん時はそんとき考える、と・・・
0109デフォルトの名無しさん
NGNGSTREAMなソケットなら、クリアしたとしても
未取得のどこまでバッファに届いているかわからないので
途中がぶった切られることになるんだが。
中身を見ずに任意の途中を抜いても後続データを回復できるような手順なの?
0110デフォルトの名無しさん
NGNGどもです。
はい、出来ません。
今は socket バッファより小さいんで大丈夫かと。
仕様変わったらどうしょ。
別の質問ですが、不定長データのやり取りで
でたらめなデータを受信した場合ってどうやってます?
blocking mode なんですけど・・・
0111107
NGNGとりあえず、読みたい先頭数byteだけのバッファを用意して、
recv() の MSG_PEEK フラグ使えば?
それも途切れてくる可能性があるんなら、MSG_WAITALL フラグ
も一緒に使う。
んで、正常なメッセージっぽかったら受信して処理すればヨシ。
異常だったとしても、一旦読み込むしか方法は無いよ。
0112デフォルトの名無しさん
NGNG>不定長データのやり取りででたらめなデータを受信した場合
識別用ヘッダ・データ長・データ・チェックサム
というデータ形式にして常時チェック
0113デフォルトの名無しさん
NGNG>異常だったとしても、一旦読み込むしか方法は無いよ。
そですか。
>>112
はい、今そうしてます。
この件についてはちょっと考えすぎだったようです。
みなさんどうもでした。
このスレは親切な人達で一杯ですねー。
こんなヘタレでもレスがもらえる・・・
0114デフォルトの名無しさん
NGNGMSG_PEEKは、すくなくとも WinSockの場合、酷い目に遭う可能性あり。
(特に、Win98のWinSock)
WinSockFAQにも、PEEK は危険と、載ってたんじゃなかったかな。
0115デフォルトの名無しさん
NGNGスレ違いの話が横行してたからな。運が良かったと思え。
0116デフォルトの名無しさん
NGNG> 不定長データのやり取りで
> でたらめなデータを受信した場合ってどうやってます?
server/client共に開発主である場合。
1. そんなことがないようにprogrammingする。(これが解決策第一候補)
相手は別の開発主である場合。(相手が糞なら↑は無理)
A. '\0'をデータ区切りとして利用する等、境界をはっきりさせることを徹底する。
B. それでもやばそうな場合は、接続を捨てることとし、
再接続関連をprotocol仕様に含める。
ちなみに>>110はTCPがbyte streamを提供するということを理解してないようなので、
良く勉強するように。TCPをSOCK_SEQPACKETと勘違いしているようだ。
> 今は socket バッファより小さいんで大丈夫かと。
の発言とかかなり疑問。
以上SOCK_STREAM(TCP)に限った話でした。
0117デフォルトの名無しさん
NGNGNLST -alL public_html/aaa/
などとしてフォルダ内のファイル一覧を取得しているのですが
このコマンドでフォルダのみを抽出するほうほうはありますか?
宜しくお願いします。
0118山崎渉
NGNGピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉
0119デフォルトの名無しさん
NGNGsendで指定するサイズはヘッダ込みで
1500バイト以下に抑えろと言われたのですが
それで転送速度が上がるものなのですか?
0120デフォルトの名無しさん
NGNG何 故 試 さ な い ?
0121デフォルトの名無しさん
NGNG0122デフォルトの名無しさん
NGNG関係ないと思われ。
多分、>>119 にその入れ知恵をしたヤツは、Nagle アルゴリズム
と遅延 ACK による送信遅延を起こさないように、という意図で
入れ知恵したんだろう。ところが >>119 はそのことを理解してな
いので、かなり端折った表現になってるだけだと思う。
それで転送速度が上がるんじゃなくって、送信遅延を防ぐんだ。
が、これまた、その入れ知恵したヤツがホントに >>119 に書い
てある通りのことを言ったんだとしたら、アフォだな。
ちいさいサイズずつ send() したら、モロに送信遅延しちゃうよ。
遅延させたくなけりゃあ、デカいサイズで一気に send() しろ。
下が Ethernet だとしても、1500 超えても問題なし。TCP が
1460 byte ずつ回線に流すから。遅延無しで。
0123デフォルトの名無しさん
NGNG馬鹿な先輩は無視するに限る。
それだけじゃ実際のところは分からないが多分馬鹿。
0124名無しさん@Meadow
NGNGNLST って、FTPのコマンドか? なら無理だと思われ。
そもそも FTP のプロトコル上 NLST の引数の解釈について明確な記述は無いので、
実は -al が期待通りに動くかどうかさえサーバ側(ftpd)の実装依存。
まあそれを踏まえたうえで、できることは -l の出力を grep '^d' するくらいじゃない?
0125デフォルトの名無しさん
NGNGあるいはUDPについてだったとか。
UDP で Ethernet 前提なら、無駄なフラグメントを減らす
(でパケット喪失の確率を減らす)ように、最大1500バイトってのはありかも。
0126デフォルトの名無しさん
NGNG0127デフォルトの名無しさん
NGNG0128デフォルトの名無しさん
NGNGファイルによって時間だったり年だったりしているのですが
どちらかに統一できないのでしょうか?
できてば年月日時分が取得できればいいのですが
0129デフォルトの名無しさん
NGNGファイル名以外の情報については規定が無かったらしく、
クライアント作成者は皆ハマる、と以前聞いたよ。
0130デフォルトの名無しさん
NGNG0131デフォルトの名無しさん
NGNGFtpFindFirstとか使えば日時は取得できるのですが
それをやっちゃうと今度はパーミッションが取得できないんですよね・・
LISTとAPIを両方行えばいいのですがそれだとリスト取得に倍の時間がかかってしまうし・・
0132デフォルトの名無しさん
NGNG何か勘違いしているようだが
相手先のサーバが情報を返さないのであれば、
APIを使っても当然取得できない
0133デフォルトの名無しさん
NGNGいや勘違いしてるかもしれないが試したことを言っている。
APIで取得できてLISTコマンドとかでは>>128ってなる
0134デフォルトの名無しさん
NGNGそのFtpFindFirst APIが実際にどのコマンドを発行してるかを調べるしか。
FTPってコマンドはテキストで流れるから脳
0135デフォルトの名無しさん
NGNGまあ、人の言うこと聞かない奴は放置するしかないよ。
>>134
と言うか、CUI で ftp クライアント使ったことないのか ?
debug モードにすれば、送ってるコマンドとかも表示されるぞ。
0136デフォルトの名無しさん
NGNGいろいろ取得できる場合もある
0137デフォルトの名無しさん
NGNG> それをやっちゃうと今度はパーミッションが取得できないんですよね・・
Authorizationなんか、システムによって仕様が違うもんな。
ftp protocolで決めようないわな。
serverがUNIX系だと仮定した時、出来るベストのことはなんでしょう、
くらいの質問に切り替えた方がいいと思われ
0138デフォルトの名無しさん
NGNG送信側からドンドンデータを送っても受信側PCには何も影響ないでしょうか?
0139デフォルトの名無しさん
NGNG誤動作することはないよ。
0140デフォルトの名無しさん
NGNG馬鹿なシステムの場合、DoSとなる可能性あり。
0141デフォルトの名無しさん
NGNG0142デフォルトの名無しさん
NGNG0143デフォルトの名無しさん
NGNGんな訳ねぇべよ。それじゃDNS届かないじゃん。
0144デフォルトの名無しさん
NGNG0145デフォルトの名無しさん
NGNGこれ単なるライブラリの説明だけじゃなくパフォーマンスとかを含めた
ノウハウも説明している貴重な本だよ。値段も安いし。
0146デフォルトの名無しさん
NGNGUNIXネットワークプログラミング 第2版 Vol.1より良い?!
0147デフォルトの名無しさん
NGNGスレ違い
0148デフォルトの名無しさん
NGNGスレ違いと言い切ってしまうお前に乾杯。
0149145
NGNGこっちは200ページ弱の大学生用の入門書だよ。
0150デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1051496506/
0151デフォルトの名無しさん
NGNG知ってる。だから「言い切ってしまう」って書いた。
0152デフォルトの名無しさん
NGNG邪魔だ
0153デフォルトの名無しさん
NGNG0154デフォルトの名無しさん
NGNGなこたーない。
0155デフォルトの名無しさん
NGNG0156デフォルトの名無しさん
NGNGネットワーク推薦図書スレを立てろってことだよ。
0157デフォルトの名無しさん
NGNGハァ?
0158デフォルトの名無しさん
NGNG0159デフォルトの名無しさん
NGNG0160デフォルトの名無しさん
NGNGsocket使うのんだろうけど・・どうやるんだ?
0161デフォルトの名無しさん
NGNG0162デフォルトの名無しさん
NGNG0163デフォルトの名無しさん
NGNGwebサーバと通信サーバを同じマシンに置けば?
0164デフォルトの名無しさん
NGNG0165145
NGNG買ってみました、UNIXネットワークプログラミングより
薄いし、安いし、FAQとの組み合わせで結構いけるかも。
#ただ、コーディングスタイル合わなかった。
0166デフォルトの名無しさん
NGNGgoogle しても、適当な解説が見当たらなかったのですが。
0167デフォルトの名無しさん
NGNGしているのですが、データをバイト配列に代入してから小出しにして送信
したいのです。しかし、いかんせんやり方がよく分かりません。知っている
方がいたら教えてください。(VBのスレの方でも聞いたのですが、こっち
で聞けば?と言われたのでこっちで聞いてみました)
0168デフォルトの名無しさん
NGNG0169デフォルトの名無しさん
NGNG説明がよくわからなかったかもしれないので端的に言うと、
データをバイト配列に代入して、それを分割してSendDataするには
どうすればよいか教えてくださいという事です。
0171デフォルトの名無しさん
NGNGだからどうした? スレ違いだと言いたいのか?
0172デフォルトの名無しさん
NGNG> zlibにinfrate()がある。続きは圧縮スレで。
inflate ですね。
0174デフォルトの名無しさん
NGNGちょっと質問なんですが、WinsockコントロールでTCPでは普通に送れていた
データがプロトコルをUDPにしたら、「データグラムはバッファより大きい
ため切り詰められます」と出るようになってしまいました。内容はそのままんま
なのかもしれませんが、これを解決するにはやはり小出しにして送るしか
ないのでしょうか?やはりこれがプロトコルの違いなんですか?
0175直リン
NGNG0176デフォルトの名無しさん
NGNG言葉の意味は分からないが
0177デフォルトの名無しさん
NGNG> やはりこれがプロトコルの違いなんですか?
そだね、プログラミングモデルを替えないとね。
バーチャルサーキットからデータグラムに変るわけだから。
0178デフォルトの名無しさん
NGNG一応、C/C++言語でグラフィック、サウンドプログラム等をしてます。
今さらながら、ネットワークプログラミングを勉強したいのですが、
最初に何から始めれば良いでしょうか。
お勧めのソースや環境や書籍等あったら教えてください。
0179デフォルトの名無しさん
NGNG0180デフォルトの名無しさん
NGNG> >>166
> zlibにinfrate()がある。続きは圧縮スレで。
あとで調べてみます。
0181デフォルトの名無しさん
NGNGhttp://www.amazon.co.jp/exec/obidos/ASIN/4797306882/ref%3Dpd%5Fsims%5Fdp%5F%5F1/249-7083274-8757158
この本買った人いますか?内容はどんな感じでしょう?
当方Windows-style API+シングルスレッドでサーバを作ったのですが
Berkeley-style API+マルチスレッドで作り直したいのですが挫折しています.
0182デフォルトの名無しさん
NGNGWinSock2.0の書籍ってそれしかないから迷わず買うしか。
APIを一通り説明してある。ついでにここもあわせて読むべし
http://www.kt.rim.or.jp/~ksk/wskfaq-ja/
0184デフォルトの名無しさん
NGNG0185デフォルトの名無しさん
NGNG0186デフォルトの名無しさん
NGNG書籍の話とかでも関係があれば構わないのでは。
0187デフォルトの名無しさん
NGNG0188デフォルトの名無しさん
NGNG昨日から?>>170か?
0189魔法使い
NGNGUNIXだとデーモン、窓だとサービスね。一応マルチプラットホーム予定
一応 ソケットのソの字はわかってるつもり。
TCPのサーバ(Winsocでマルチスレッド)は作った事あるけど
今度は、メールサーバ DNS みたいなのを作りたいと思います
で 質問ですが 複数接続の時
・セキュリティーを考えてfork() あるいはexec()を行い、データのやり取り必要ならIPCするのが良いか
・スレッドを使うのが良いか
どう思いますか?
0190デフォルトの名無しさん
NGNG0191デフォルトの名無しさん
NGNG0192魔法使い
NGNG落ちる可能性の高い、クライアントとの通信部を
別プロセスにしたら親に被害が出なくて良いかな?って悩んでたのです
スレッドにすればTCPプログラムなら簡単そうですね
IPCも考えなくていいし
UDPだとパケットの識別->スレッドへ配送 とか考えないとね・・
0193デフォルトの名無しさん
NGNG0194デフォルトの名無しさん
NGNG多重化は(必要な時は)しないまずいでしょ。
DNSのproxy serverなんかだと、domainごとに応答時間が違うから、
query/responseのprocessをoverlapして処理する必要がある。
0195デフォルトの名無しさん
NGNG自分で考えずに他人に頼る時点でボケ防止にならない
諦めて徘徊でもしてろ
0196デフォルトの名無しさん
NGNGつか、win32 って fork() できるんですか?
UNIX 育ちの俺は、以前仕事で WinNT 4.0 上で動く
デーモン (サービス) 書いた時に、fork() が無くて
キレそうでした。子プロセスを起こすのって、
fork/exec がセットになったような API しか無くって。
最近のWindows 事情はさっぱり知らないんですけど。
0197デフォルトの名無しさん
NGNGWin32サブシステムには無いがPOSIXサブシステムには存在する。
あと、CygwinはWin32サブシステム上で色々小細工してfork()を実現
してる。(つか、実現しないとアプリが移植できないし)
かなり遅いけどね。
0198デフォルトの名無しさん
NGNG(Interixなら使える)
0199デフォルトの名無しさん
NGNGようなサイトをどなたか知らないでしょうか?
0200デフォルトの名無しさん
NGNG0201デフォルトの名無しさん
NGNGなんでもかんでもmsdnとか言うのはイクナイ!
>>199
msdn見ればイイと思うよ。
0202デフォルトの名無しさん
NGNGしかしマジレスすると、「エラー処理」をどうするかはアプリ/プロトコル
次第なんだから、MSDN見たってしょうがないと思うんだが。
「エラーコードはどうやって拾えばいいのか?」「エラーコードの意味
が知りたい」とかならMSDN見ろでいいけど。
0203デフォルトの名無しさん
NGNG0204デフォルトの名無しさん
NGNG0205デフォルトの名無しさん
NGNG0206デフォルトの名無しさん
NGNG0207デフォルトの名無しさん
NGNG( ,_ノ` )y━・~~~ ヽ(゚∀゚)ノ
>>206
_、_
≡≡≡≡( ,_ノ` )y━・)∀`)ノ
>>206
0208デフォルトの名無しさん
NGNGUDPで通信を行っていてrecvfrom関数で受信しているのですが
この時に相手のIPアドレスを知りたいのですが、
どうやって取得すればいいのでしょうか?宜しくお願いします。
0209デフォルトの名無しさん
NGNG0210デフォルトの名無しさん
NGNG本に教えて貰わないと何もでき無いような奴は何をやっても駄目
0211デフォルトの名無しさん
NGNG知らないならレスしないで、ウザイだけだから
0212デフォルトの名無しさん
NGNG同感
以前からこのスレを荒らしているやつだから無視した方がいいよ。
0213デフォルトの名無しさん
NGNG(´д`)
recvfrom使ってるのになんで分からないのかね?
recvfrom関数自体で分かるではないか。まったくマニュアルを見ていないのか?
0214デフォルトの名無しさん
NGNG相手のIP知ってどうするの?
0215デフォルトの名無しさん
NGNGマニュアルに載ってることを
質問すのは禁止です
0216デフォルトの名無しさん
NGNGバレバレですよw
0217デフォルトの名無しさん
NGNG0218デフォルトの名無しさん
NGNG...って回答じゃダメ?
つーか、だったら何でコイツは recvfrom() を使おうと
思ったんだろう…。
0219デフォルトの名無しさん
NGNGマニュアル買ってくれ
0220_
NGNG0221デフォルトの名無しさん
NGNGhttp://www.linux.or.jp/JM/html/LDP_man-pages/man2/recvfrom.2.html
0222デフォルトの名無しさん
NGNG方法はいいのでできるかできないかだけ知りたいんだけど。
0223デフォルトの名無しさん
NGNGやるんならドライバレベルじゃないの。
0224デフォルトの名無しさん
NGNG0225デフォルトの名無しさん
NGNGraw socketってのでlayer 2叩けば出来る。
>>223
raw socketはsocket APIの一部つー事でいい。
0226デフォルトの名無しさん
NGNGシーケンス番号を予測できれば
一方的に何か送りつけることはできるね
0227デフォルトの名無しさん
NGNGサーバ側でrecv()でクライアント側のメッセージを受けとるときに
クライアント側でsend()でメッセージを送った直後に同様にsend()で違うメッセージを
送ってやると、サーバ側で2つのメッセージを同時にrecv()で受け取ってしまうのですが
これを解決する最適な方法ってなんでしょうか?
現在はスリープしてやって時間差をあけて送るようにしてますがこれでいいのでしょうか?
0228デフォルトの名無しさん
NGNGいいわけないだろ
TCPが分かっていない馬鹿はUDPを使え
0229デフォルトの名無しさん
NGNGワラタ。
まじれすするとだな、そういうもんなんだよもとから。
メッセージの中身に区切りを入れろ.
0230デフォルトの名無しさん
NGNG0231デフォルトの名無しさん
NGNG0232デフォルトの名無しさん
NGNG初心者にUDPすすめていいことはなにもn(ry
0233デフォルトの名無しさん
NGNGお前ら、粘着かよ(w
0234デフォルトの名無しさん
NGNG質問者の気に入るように嘘をつけとでもいうのか?
0235デフォルトの名無しさん
NGNG/ /
./ / i
| ( ゚Д゚) <そんなバナナ!
|(ノi |)
| i i
\_ヽ_,ゝ
U" U
0236デフォルトの名無しさん
NGNG0237デフォルトの名無しさん
NGNG0238デフォルトの名無しさん
NGNG固定長/可変長/不定長でぐぐると良いです
0239デフォルトの名無しさん
NGNGUDPにするのがいいと思われ
初心者には、UDPの方が理解しやすいのかもしれないなぁ
こう、パケットが飛んでいくイメージ、というか
0240デフォルトの名無しさん
NGNGストリームを理解すればいいだけの話。
0241デフォルトの名無しさん
NGNG0242デフォルトの名無しさん
NGNG0243デフォルトの名無しさん
NGNGもしかして釣り?
単に初心者なのか?
0244デフォルトの名無しさん
NGNG効率悪すぎだろ。それこそUDPにしたほうが。
あ、でも「サーバ側で逆順に受け取ってしまうのですが、
これを解決するにはsleepで(ry」とか言い出す予感。
やっぱ自称初心者に付ける薬はないな
0245デフォルトの名無しさん
NGNGと思うがどうか。問題の一つには244で気づいたようだが、問題は
それだけではないから、ふつう227レベルbフ質問に対してbヘ、最初
bゥらUDPなんて答は除外してかかるもんだ。それとも228も239も
241も全て釣りか?
まともなレスは229,240あたりか。
でも、区切りを入れるよりも、メッセージ長を示すヘッダを頭に
つける方が定石だと思うがどうよ? >>229
0246デフォルトの名無しさん
NGNGそんなんプロトコルによるだろ。
もしPOP3がメッセージ長方式だったらtelnetでつないでPOP3おしゃべり
できないし。(まぁやってやれなくはないが、お手軽さは無くなる)
ただ、区切り文字方式でバイナリ通す場合はTELNETのIACエスケープ
のような事しなくちゃいけなくなるから、面倒くささという意味ではどっちも
どっちだけどナー
0247デフォルトの名無しさん
NGNG0248デフォルトの名無しさん
NGNG0249デフォルトの名無しさん
NGNGそんなにデバッグ環境が貧弱なのか?
0250デフォルトの名無しさん
NGNGネットワークプログラミングでどの環境でも
デバッグ環境が充実してると思うほうがどうかと
0251デフォルトの名無しさん
NGNG> 手軽さを求める理由が判らない
The Internet protocol suitesのアプリケーション層って手軽指向だよ。
例えばOSIと比べてご覧よ。
まあ、本論は、パケット長方式でも境界区切り方式でも、
状況に合わせて好きな方を選べばいいと思うが。
0252デフォルトの名無しさん
NGNGメッセージ長でしょ?
0253デフォルトの名無しさん
NGNG0254デフォルトの名無しさん
NGNG0255デフォルトの名無しさん
NGNG0256デフォルトの名無しさん
NGNG友好関係でも築こうとしているのか?
0257デフォルトの名無しさん
NGNG最近ネットワークの宿題が流行ってるのか?
0258デフォルトの名無しさん
NGNG0260デフォルトの名無しさん
NGNG今更>>253がスレを読まずに発言することが、馬鹿ではなくてなんだというのだ?
0261デフォルトの名無しさん
NGNGついでにプレゼン層の実装用の便利クラスも。
0262デフォルトの名無しさん
NGNGある
0263デフォルトの名無しさん
NGNGお前のように答えられないで煽るだけの馬鹿は邪魔dから消えてくれ頼むから
いつも邪魔してるのお前だろ?
ここはお前のような低脳がくるとこじゃねえよ。
0264デフォルトの名無しさん
NGNG>>261
0265デフォルトの名無しさん
NGNGスレを読まずに突然頓珍漢なことを書くのもどうかと思うが
落ち着いてスレの流れを把握してから書き込むように
0266デフォルトの名無しさん
NGNG|∧∧
|゜・ω・゜)
|o○o .
|―u'
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| またーりしようよ。おにぎと茶でもどうぞ。
|∧∧
|゜・ω・゜)
|o o .
|―u' 旦○
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
|
| サッ
|
| ミ
| 旦○
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0267デフォルトの名無しさん
NGNG| 旦
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| ○
| 旦
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0268デフォルトの名無しさん
NGNG| 旦 ゴ
| |||| ゴ
| ゴ
| ゴ
|
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| |||| ゴ
| ゴ
|
|
|
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0269デフォルトの名無しさん
NGNGΣ∧∧
|゜・ω・゜) ナクナッテル‥湯ノミマデ‥
|o o .
|―u'
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0270デフォルトの名無しさん
NGNG煽るだけでなく答えることもできる上級者さんなら早く>>261に答えろ。
0271デフォルトの名無しさん
NGNGやっぱわかってねえかこいつ・・
0272デフォルトの名無しさん
NGNG恥の上塗りみっともない
0273245
NGNGPOP3 や SMTP みたいに最初から区切りとして使えるもの(改行)が
あるなら、それを使えばいいけど、区切りがないデータに対して、
後から区切りを加えるのは、ちょっと面倒だと思うなあ。
ヘッダにメッセージ長を入れるのは、全然面倒じゃないよ。
メッセージ長って、システムコールの引数でどうせ必要だから、
既に分かっている筈なので、直接send/recvする代わりに、
send_with_size/recv_with_sizeみたいな関数を作って呼ぶだけ。
まあ、セパレータを入れることに反対しているわけじゃないので、
そう受け取れたならスマソ。
0274デフォルトの名無しさん
NGNGsend_with_terminator/recv_until_terminator でいいと思う。
メモリ管理はメッセージ長方式の方がチョト楽だけどな。
メッセージを丸ごとdataとして扱う場合に限りだけど。
0275デフォルトの名無しさん
NGNGそこまでTCPを勧めるなら、根拠を書けよ
UDPはダメだという思い込みで、思考停止してるだけじゃないか?
一応先に書いておくが、>>244のように順序が変ったり、ロストする
ことがありうる、なんてことは誰でも知ってる。それでも、使いやすいのなら
UDPもいいのでは、ということだ。
つーか >>245 こそ釣りか
0276デフォルトの名無しさん
NGNGそれにしてもなんで、CR LF の2バイトがセパレータのプロトコルが
多いんだろ。(HTTPとか TELNET とか)
1バイトの方が作りやすいのに・・
0277デフォルトの名無しさん
NGNG> なんてことは誰でも知ってる。
と思い込むのはあなたの勝手だが、
今ここでは>>227が知っているかどうかが重要。
また過去スレを読めば「誰でも知っている」なんて
妄想以外の何物でもないことが分かる。あなたは馬鹿か?
>>276
Internetでは、ISO IRV 646その他の制御文字の定義に合わせて、CF + LFが標準。
0278デフォルトの名無しさん
NGNG回答するので、話が噛み合わなくて回答者同士で煽り合いになるのが常道だな。
どのスレでも。
0279デフォルトの名無しさん
NGNGUDPでメッセージ順序の保存と再送と(メッセージのサイズによっては)
メッセージ分割と再アセンブリを実装するのとで、
どちらが簡単かなんて自明じゃろう。
想像するまでもない。
0280デフォルトの名無しさん
NGNG利点を生かす用途で使い分ければいい
0281デフォルトの名無しさん
NGNG0282デフォルトの名無しさん
NGNGいちいちそんなことにつっかかる、
お前の思考もわからない。
誰も「こだわって」はいないと思うんだが。
0283デフォルトの名無しさん
NGNGテキストならターミネートコードで終了が認識できるが
バイナリだとバイト数を付加する必要あるからな
バイナリにしたらサイズが小さくなるから速度優先ならアレ
0284デフォルトの名無しさん
NGNG制御用と転送用でコネクションを分けてもいいし
0285デフォルトの名無しさん
NGNG終了方法の話とは、直接関係ないのだけれど、一般論としては、
ftp protocol は、新しい protocol を実装するときのお手本には
しない方が良い、と思う。
たとえば、
・複数ポート(特に不特定のポート)を使う。(FWのフィルタ設定が面倒)
・新しく開いたポート番号を相手に教える。(NAT対応で問題を起こす)
・サーバからクライアントに接続する。(ftpの場合passiveがあるけれど)
というのは、やらないで済むなら、やらない方がよいわけで。
FTPの場合は、歴史があるから、FW や NAT では特別扱いで、
いろいろ専用対応してくれているけれど。
0286デフォルトの名無しさん
NGNG同感。FTP をマネるのはやめた方がいい。
新しく listen したポートに本来の通信相手じゃないヤツが
コネクション張ってきたらややこしいしね。FTP のプロトコル
自体はそれをやらせるために設計されたので、ああいう、
ヤヤコシイ作りになってるんだけど。
0287デフォルトの名無しさん
NGNGどうすれヴぁいでつか?
0288デフォルトの名無しさん
NGNGまずゲームをつくる
↓
オンライン化する
↓
(゚∀゚) ウマー
0289デフォルトの名無しさん
NGNGテキストベースのプロトコルを使わない。
tcp一本でイケるとこまでがんがる。
0290デフォルトの名無しさん
NGNG何の関係があるんだ? >>281か? 必死すぎ
0291デフォルトの名無しさん
NGNG0292デフォルトの名無しさん
NGNG最近プレゼンテーション層相当はHTTP系、ASN.1系が多いね。
0293デフォルトの名無しさん
NGNG0294292
NGNG0295デフォルトの名無しさん
NGNG0296デフォルトの名無しさん
NGNGふむ、じゃあ XML のことを言ってるわけじゃなかったのか。
だとすると、それって本当にプレゼンテーション層?
アプリケーション層としてのHTTPを、ありとあらゆるアプリ
ケーションに使うって意味じゃなくって?
0297デフォルトの名無しさん
NGNG自分の使ってる環境がすべてだと思ってる人は
ネットワークプログラミングに向いてないよ
0298デフォルトの名無しさん
NGNG0299デフォルトの名無しさん
NGNGふむ、具体的にはどんな環境だと問題になりますか?
0301デフォルトの名無しさん
NGNGここは吉野家か?
一人だか二人だか変なのが紛れ込んでるだけみたいなんだけど。
0302デフォルトの名無しさん
NGNG>テキストベースのプロトコルを使わない。
>tcp一本でイケるとこまでがんがる。
って意味わかんないのは俺だけ?
テキストベースプロトコル 対 TCP
なの?わけわかめなんだけど。
0303デフォルトの名無しさん
NGNG0304デフォルトの名無しさん
NGNGお前だけじゃないから、安心しろ。>>289 がアフォなだけ
だから相手にするな。
0305デフォルトの名無しさん
NGNG二行は別のことを言ってるぞ。
テキストベースの弊害は既知だからいいとして、
tcp一本というのはどういう理由なんだろう
0306デフォルトの名無しさん
NGNGテキストベースの弊害は既知なの?
0307デフォルトの名無しさん
NGNGオモチャレベルのプログラムしか作ったことがないアマチュアには
既知ではないかもしれん。
0308デフォルトの名無しさん
NGNGインターネットの大部分は玩具レベルのプログラムで運営されている
0309デフォルトの名無しさん
NGNGうう、べつにテキストベースだってエンコードすれば何でも通せるし
(「テキストベース」という言葉で示しているのは通信路を通すのを許す
値範囲が0x0aとか0x20〜0x7fとかいう範囲だという程度だよね?)
何が弊害なのか分からん・・
0310デフォルトの名無しさん
NGNG「メッセージの長さが終端マークが来るまで判らないプロトコル」
のことだと思う。行末までとか、行頭に"."が来るまで、とか。
この手の仕様がbuffer overrunを生みやすいのは既知だと思うがどうか。
でも、長さの指定はテキストでもできるんだから、
テキストベースの弊害という表現はポイント外してるな。
>>308
互換性・相互運用性の名の下に黎明期のプロトコルが残ってるだけでは?
0312デフォルトの名無しさん
NGNG310は「改行区切り方式だとバッファ溢れの危険性が伴いやすい」
という事を言ってるだけで、別にテキストそのものを否定してる訳
ではないと思うが。
0313デフォルトの名無しさん
NGNG0314デフォルトの名無しさん
NGNGテクスト/バイナリに限らず、きちんと許容サイズをチェックするのは必須
0315デフォルトの名無しさん
NGNG実際メールには一行の長さの制限がありますな
もちろん実装はちゃんと制限をチェックしないとぜんぜん意味ないが
0316デフォルトの名無しさん
NGNGそれはテキストベースだから、という問題じゃないと思うぞ。
テキストベースだろうが、データ長を先に通知することは可能だし、
バイナリデータを通すプロトコルだったとしても、特定のコード
を終端と見なす方式も存在しえるわけで。
というわけで、テキストベースの弊害を説明してください。
おながいします。
0317デフォルトの名無しさん
NGNG・バイナリに比べて通信量が増える。
・解析されやすい
0318デフォルトの名無しさん
NGNGまじですか
0319デフォルトの名無しさん
NGNGそれは通信路の暗号化で解決すべき問題だと思うが
0320デフォルトの名無しさん
NGNGそれは通信路の圧縮で解決すべき問題だと思うが
0321デフォルトの名無しさん
NGNG0322デフォルトの名無しさん
NGNG層より上位で透過的にやるってことだよ
sshを通したtelnetをバイナリプロトコルとは言わないだろ
0323デフォルトの名無しさん
NGNG0324デフォルトの名無しさん
NGNG0325デフォルトの名無しさん
NGNG何人かの方々、回答していただきありがとうございました。
>>225の方に個人的にご相談したいことがあるのですが、
まだいらっしゃいますか?
0326デフォルトの名無しさん
NGNG0328>>225
NGNGそれから他の人も答えられるよ。Cracking program書く人は放置、が不文律だけど。
0329デフォルトの名無しさん
NGNG310は
>でも、長さの指定はテキストでもできるんだから、
>テキストベースの弊害という表現はポイント外してるな。
と言ってるが、国語力が不足しているのか?
0330222
NGNG場違いは甚だしいのを承知で書かせていただきます。
仕事柄よくi-modeサイトを閲覧するのですが、
DoCoMoのIP以外だと閲覧できないようになっているサイトがあり、
パケット代も馬鹿にならず、仕事に支障をきたしております。
User-Agentであれば自力でも詐称できるのですが、IPアドレスとなると
お手上げの状態です。
そこで、一時的にDoCoMoのIPになりきってi-modeサイトを閲覧できるような
ツールが欲しいのです。
閲覧するサイトは決まっていますので、Windowsのコマンドラインから
必要な引数を渡して、レスポンスを受け取るだけの簡単なものでいいのですが、
そのようなツールを製作するのが可能な方がいらっしゃったら、
メールでご連絡いただけないでしょうか?
もちろん謝礼はご用意するつもりです。
>>328
ご忠告ありがとうございます。
レスを汚してすいませんでした。
書き込みはこれで最後にします。
[email protected]
0331デフォルトの名無しさん
NGNGその上で動くプロトコルは全部バイナリだわな。
RFC3252を使えば話は別だが(w
0332デフォルトの名無しさん
NGNGsourceIP詐称は簡単にできるけど、その返事は自分に帰ってこないぞ?
0333デフォルトの名無しさん
NGNGよって送信も出来ない
0334デフォルトの名無しさん
NGNGAS同士の通信、BGPとかのこと?
>ソースIPが経路に一致しないとパケットを捨てる
しらなんだ...
0335デフォルトの名無しさん
NGNG0336デフォルトの名無しさん
NGNGtracerouteに-gつけて確かめてみ。
0337デフォルトの名無しさん
NGNG0338デフォルトの名無しさん
NGNG少くともIPレイヤはそんなことしてないだろ。
行きと帰りで経路違うだけで通信できなくなっちまう。
0339デフォルトの名無しさん
NGNG何で? 行きと帰りはまったく関係ないと思うが?
0340>>225
NGNG> そこで、一時的にDoCoMoのIPになりきってi-modeサイトを閲覧できるような
> ツールが欲しいのです。
不可能です。
通信料じゃなくてサービス料なのでちゃんと払いましょう。
スレ違い失礼。
0341デフォルトの名無しさん
NGNG0342デフォルトの名無しさん
NGNG"Man in the Middle" attackなら容易でしょ?
一般的には不可能だけど。
0343名無しさん@お腹いっぱい。
NGNGIPv4でデータグラム型。つまりUDP。外部と通信可。
socket( AF_INET, SOCK_STREAM, 0 );
IPv4でストリーム型。つまりTCP。外部と通信可。
socket( AF_LOCAL, SOCK_DGRAM, 0 );
Unixドメインプロトコルでデータグラム型。名称なし。同一マシンのみ。
socket( AF_LOCAL, SOCK_STREAM, 0 );
Unixドメインプロトコルでストリーム型。名称なし。同一マシンのみ。
ただ、45のように127.0.0.1をローカルマシンのIPアドレスとして
TCPやUDPで通信することもできるヨ。
0344デフォルトの名無しさん
NGNG0345デフォルトの名無しさん
NGNG0346デフォルトの名無しさん
NGNG0347デフォルトの名無しさん
NGNG0348デフォルトの名無しさん
NGNGネタにマジ返しされても・・・
0349デフォルトの名無しさん
NGNG安心してください。同じですよ。
0350デフォルトの名無しさん
NGNG0351デフォルトの名無しさん
NGNG0352デフォルトの名無しさん
NGNGソースきぼんぬ。
icmp.dllは将来サポートされなくなる(から使っちゃ駄目よ)というのは
知ってたが、WinSock2のRAWソケットも駄目ってのは初耳だな。
(というか、icmp.dllを使わせたくないからWinSock2でRAWソケットを
正式サポートしたはずなんだが)
「WinSock2 RAW ソケット」でぐぐってみたが、サンプルは腐るほど
出てくるが、禁止されているという話は全然無いんだけど。
0353デフォルトの名無しさん
NGNG0354デフォルトの名無しさん
NGNGむなわきゃーない。
iphlpapi.dllにさっさと移行しなさい。
0355デフォルトの名無しさん
NGNG0356デフォルトの名無しさん
NGNG351 ではないけど、MS の KB の Q195445 (英語) で、
「Admin 権限がないとダメよ」みたいな事が書かれている。
351 はそれを「禁止」と捉えているのではないかな?
ping を飛ばすサンプルらしきものをやはり MS KB の
Q185726 (英語) に発見。詳しく読んでいないけど、
ActiveX 作って ping を飛ばすものらしい。
>>354
スレ違いな質問かもしれないけど、iphlpapi.dll って IPv6
のサポートあるの?アドレスの格納に DWORD を使って
いて「なんだかなぁ」って思った記憶があるんだけど。
0357デフォルトの名無しさん
NGNGIPv6用にIcmp6CreateFileって6の名前のついたAPIが新規追加されてる。
XP以降だが。
0358デフォルトの名無しさん
NGNG0359デフォルトの名無しさん
NGNGAPIの数が少なかったらドキュメントの類が売れないからだろう。
0360デフォルトの名無しさん
NGNG0361デフォルトの名無しさん
NGNG使わない人は見なくても使わなくていいんだし、不要になったら廃棄すりゃいいんだし。
汎用化してるとそれこそドキュメントがぼこぼこ肥大化していくでしょーが。
0362デフォルトの名無しさん
NGNGそれができてりゃ文句を言わんがね
実際には後方互換性の問題から膨れてくいっぽうじゃん。
潰しの効かない特殊化されすぎたAPIを毎度毎度覚えてくのはたくさん
0363デフォルトの名無しさん
NGNGsend時のblockって何が原因で起こるんですか?
0364デフォルトの名無しさん
NGNG0365デフォルトの名無しさん
NGNG0366デフォルトの名無しさん
NGNGおいおい、そのスパンってどれくらいよ。
数ヶ月単位なら俺も勘弁してもらいたいが3年から5年とかなら一向にかまわんよ。
それもできないなら単なる甘えにきこえるよ。
ICMP.dllは実際にまだ消えてないし、次のOSで消えたとしても現状のXPまでは使えてるんだから
何を問題にしているんだ。
業務系だったら対象OSまである程度固定化できるし、固定してから作るだろ。
0367デフォルトの名無しさん
NGNG今ファイル送受信 プログラムを作っているのですが、送受信を同時にすると止まってしまいます
・まずは コネクト確立。ソケットを作成
・自分が送信
・相手もこっちに送信
とやると、sendから -1しか返ってこなくなってしまいます
固まる理由はわかっていて、ファイル送信途中 でとあるヘッダ(8バイト)を渡すために無理やり無限ループしているところヘッダが破損しては
困るので8バイト渡すまでsend部分をループさせてるのです(Sleep(2)あり)
ここからは素人考え
受信に一杯一杯だとsendは失敗する
だから8バイトとはいえ無限ループしているところのsendで失敗を繰り返してしまい固まる
何故なら無限ループ中はrecvしていないから
この推測は当たっているでしょうか?
recvに手一杯だとsendは失敗してしまうのでしょうか?
また、これの解決方法は?(ソケット2つつくる…とか?)無限ループやめろはごもっともですが・・・
0368デフォルトの名無しさん
NGNG勉強に使ってるテキスト・情報源は何?
0369デフォルトの名無しさん
NGNG0370デフォルトの名無しさん
NGNG>自分が送信
>相手もこっちに送信
受信してないの?バッファが一杯になるとそれ以上送信できないよ?そういうわけではなくて?
send でループする間も recv を回してバッファを空けてやるといいのでわ。
>固まる理由はわかっていて、ファイル送信途中 でとあるヘッダ(8バイト)を渡すために無理やり無限ループしているところヘッダが破損しては
ヘッダが破損て何。TCPでは一応データ破損しないはずでは。
勝手に仮定したけど、TCPだよねぇ?何かと勘違いしてる?ん?
0371デフォルトの名無しさん
NGNGまあ、すっきりしたら、
> 業務系だったら対象OSまである程度固定化できるし、固定してから作るだろ。
ドロドロした世界でゴミ拾いして銭稼いでいる人は困るわな。
0372デフォルトの名無しさん
NGNGだからLonghornで大ナタをふるうとか言い出したんでしょ(どうせできっこないが)
0373デフォルトの名無しさん
NGNG激しく何かを勘違いしていると思われ。
「ヘッダが破損」ってのが意味不明。
とりあえず send() が -1 return してるんなら、
エラーコードを見なきゃ。
0374デフォルトの名無しさん
NGNG0375デフォルトの名無しさん
NGNGじゃあ>>367はOSをversion upすべきだな(w
0376374
NGNGん?意味分からんのだが…
要するにrecv()してないからバッファがいっぱい→にも関わらずsend()
しまくるので「これ以上送れねーよヽ(`Д´)ノ」とWSAEWOULDBLOCKが
出てるのでは?という事なのだが。(だからOSは関係無い)
ひょっとして漏れ釣られてる?
0377デフォルトの名無しさん
NGNG0378デフォルトの名無しさん
NGNG>・相手もこっちに送信
つー辺りからして、両方共recv()してないとか。
ま、なんにせよ>367は説明が全然駄目すぎてどういう状況なのか
サパーリ分からん。
0379デフォルトの名無しさん
NGNGでftpサーバにアクセスするとき、
プロトコルは何を使ってるんでしょうか?
会社のマシンの場合でも、HTTP用のproxyしか設定してないはずなのに、
ftpサーバとつながるのが不思議でしょうがないです。(ダウンロードのみでも)
何か特殊な事をしてるんでしょうか?
検索しても情報がないです。(どういうアクセス手段かもわからないし)
あわよくば自分のプログラムのftpルーチンにも導入したいのですが・・・
0380デフォルトの名無しさん
NGNGBrowserがftp protocolを喋って、
あたかもHTMLであるかのように表示してるんです。
ftpのhttp proxyも同じ事やってます。(こっちはprotocolもftp→http変換してる)
0381デフォルトの名無しさん
NGNGでも、ftpポートは見えてない筈なんですが。
FFFTPやrootftpみたいなFTPクライアントじゃ同じ事できないですよね。
結局これは何というプロトコルなんでしょうか?
0382デフォルトの名無しさん
NGNGPC間をモデムで直接つなげて、シリアル通信でデータのやりとりってできるものでしょうか?
0383デフォルトの名無しさん
NGNGもしかして、ブラウザがHTTPじゃなくて、始めからftpプロトコルで通信してるということですか?
でもポートが1つで済む意味がよくわからない。
ftpの場合はサーバから開くポート要求されるはずなんだけど・・・。
0384デフォルトの名無しさん
NGNGGET ftp://ftp.example.jp/dir/file.txt HTTP/1.1
とかやると、ファイルが落ちてくるようなProxyサーバは存在する。
client-proxy間はhttp. proxy->server間はftp。
0385デフォルトの名無しさん
NGNGモデムじゃなくシリアル(クロス結線)なら余裕
そうじゃなくてモデムじゃないと嫌だい!!ってことなら回線シミュレータが必要
結構高額
0386デフォルトの名無しさん
NGNGネットで稼ぐならこれ。完全無料!!
リンクスタッフになれば小遣い稼ぎができます!!(左下に詳しい説明があります)
[報酬について]
クリック報酬・・・1クリックされる度に10円の報酬
バナー紹介料・・・リンクスタッフ登録の度に1000円の報酬
キャンペーン・・・今なら登録するだけで1000円プレゼント
間接報酬・・・紹介者が得た報酬を何割か加算いたします
ボーナス・・・優秀サイトには、報酬に応じてボーナス有り
単純に考えて1日100人クリックしたとすると、100人×10円×30日=30000円(一ヶ月)
そこらへんの掲示板に貼り付けていけば100クリックなんてスグです。
その他、自分の貼り付けた広告から誰かがスタッフになると1000円もらえるので
1日5人スタッフを紹介できたとして1000×5×30=150000円
30000+15000=180000!!間接報酬などもありますのでどんなに悪くても一ヶ月に10万円以上は稼げます!!
http://www.santa.ac/~comtec/linkstaff/cgi/click.cgi?id=3007
ぜひ一度覗いて見てはいかがでしょうか?
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
0387デフォルトの名無しさん
NGNGとかかれたファイルをIEでひらいてみれ。
0388デフォルトの名無しさん
NGNGまぁモデムを電話線直結しても、片方でatd、もう片方でataしちまえば
繋がっちゃうけどな。
0389デフォルトの名無しさん
NGNGマイクロソフトと一緒でデータいっぱいだと動かなくなるワナ
0390デフォルトの名無しさん
NGNG0391デフォルトの名無しさん
NGNG0392デフォルトの名無しさん
NGNG0393デフォルトの名無しさん
NGNG自分で再送処理なんかを書かなければならなかったので面倒だった
0394デフォルトの名無しさん
NGNG0395デフォルトの名無しさん
NGNG0396デフォルトの名無しさん
NGNG使われてなかっただけだな
0397デフォルトの名無しさん
NGNGクロスでつないで interlnk.exe と intersvr.exe
そういやKA9Qもあったな
0398デフォルトの名無しさん
NGNG死んじゃった
0399382
NGNG状況としまして、事務所と工場の現場でのデータのやりとりをしようと
思いまして。
直線距離で50mくらいあるので、無線ランで中継器おいてと思ったら今は使っていない
電話の線が残っていたので、その両端にモデムをと考えました。
無線ランを使った方が良さそうですね。
0400デフォルトの名無しさん
NGNG最初から書け。このバカチンが。
0401デフォルトの名無しさん
NGNG荒らすな
0402デフォルトの名無しさん
NGNGあれ100mまでじゃなかったっけ?
0403デフォルトの名無しさん
NGNGブロッキングソケット時は、send()の戻り値で判断?
ノンブロッキングソケット時は、送信バッファで判断?
0404デフォルトの名無しさん
NGNG0405デフォルトの名無しさん
NGNG0406デフォルトの名無しさん
NGNG0407デフォルトの名無しさん
NGNG無理。
TCPレベルでは、データが化けない&順序が入れかわらないことを
保証してくれるだけで、相手が受信したかどうかまではわからない。
相手プログラムに返事を返してもらうようにして、それを確認するのが普通。
>>405
たとえACKを受けとったとしても、相手のTCPバッファに格納されただけで、
相手プログラムが受けとったとは限らない。
0408デフォルトの名無しさん
NGNG0409デフォルトの名無しさん
NGNG> TCPレベルでは、データが化けない&順序が入れかわらないことを
> 保証してくれるだけで、相手が受信したかどうかまではわからない。
(TCP layerのpeer entityまでの)到着も保証してるって。
正常にFIN処理が行なわれた時点で、すっかり判明する。
> たとえACKを受けとったとしても、相手のTCPバッファに格納されただけで、
> 相手プログラムが受けとったとは限らない。
もちろんこれは事実だけど。
Application layerのことまでTCPは責任持たないから。
TCPを利用する上のlayerの責任。
0410デフォルトの名無しさん
NGNG403は「TCPを使った場合に、(アプリケーションにとって)、相手の受信確認はできますか?」
といってるわけで、TCPレイヤでの送達保証の話はちょっと違う気が。
たぶん、「最終的には FIN処理で分かる」とかいわれても、困ってしまうんじゃないかな?
実用的には、403にとって、407の対処が現実的だと思う。
0412デフォルトの名無しさん
NGNGしかないんじゃあ、UDPでも同じジャン。
0413デフォルトの名無しさん
NGNG0414デフォルトの名無しさん
NGNG相手プログラムが返事を返したかどうかはどうやって知るのでしょう?
0415デフォルトの名無しさん
NGNG何が言いたいんだろう。
プログラムが返事が受信できたときでは?
相手が返事を受信したかどうかを確認するには、とかだと
無限ピンポン狙いかとも思うが・・
0416デフォルトの名無しさん
NGNG返却期日を設ければいいんですよ。
1分いないに返事よこさないと未受信とみなす、とか。
0417デフォルトの名無しさん
NGNG0418デフォルトの名無しさん
NGNG0419デフォルトの名無しさん
NGNGUDP だと順序がバラバラになる可能性があるでしょ?
それだけじゃなく、相手側アプリケーションが受信時 (recvfrom())
に指定したバッファが、実際に到着したデータより小さかった場合、
残りの分は破棄されるような実装が多いぞ。たしか XPG4 対応だと、
そういう振舞いじゃなかったかなぁ。次の recvfrom() で残りのデータ
が拾えてしまう実装もあるけど、ここいら辺は実装依存。
少なくとも XPG4 モードだと XPG4 に合わせる必要がある。
送達確認の有無だけで UDP と TCP の違いを論じるのは浅はかでつ。
このスレは「ネットワークプログラミング」スレなので、アプリケー
ションレベルでの動作も考慮しないと。
つーわけで、>>407 に同意。
0420デフォルトの名無しさん
NGNGんなことはない。
0421デフォルトの名無しさん
NGNGそれでただしい。
0422デフォルトの名無しさん
NGNGおいおい、嘘言うなよ。RFC793読んだことある?
CLOSE-WAIT stateって何のためにあるんだよ?
欠けも重複も許さずに最後はハンドシェイクして終わるんだぜ?
0423デフォルトの名無しさん
NGNG順序保証に含まれる
> 最後はハンドシェイクして終わるんだぜ?
ソケットライブラリでアプリ作るレベルではfinを受け取ったかどうかなんて
分からん
0424デフォルトの名無しさん
NGNG0425デフォルトの名無しさん
NGNGFIN を受け取ったかどうかわからんのなら、
どうやって、コネクションの終了を判断すると考えて
ます?
>>423 は実際にソケットプログラミングやったことない
のかな? 順序保証の認識もおかしいし。それに、どうも、
TCP はその程度のことしかやらないと思ってるみたいだし。
>>424 の「やれやれ...」って言葉にものすごく同意。
0426デフォルトの名無しさん
NGNG> ます?
誰が判断する話?主語が抜けてる。
0427デフォルトの名無しさん
NGNGアプリケーションが。
0428デフォルトの名無しさん
NGNG0429デフォルトの名無しさん
NGNGもちろん、その通り。
ってゆうか、FIN を知っているのに、アプリケーションのレベルで、
FIN を受け取ったかの判断をどうやってやるかを知らないってのは、
あまりに駄目すぎだろう。
0430デフォルトの名無しさん
NGNG0431デフォルトの名無しさん
NGNGTCPはcongestion controlもcheck sum testもやってないのかよ!?
どこの星のTCPだよ。
0432デフォルトの名無しさん
NGNG0433デフォルトの名無しさん
NGNG> もちろん、その通り。
ソケットのいろんな実装を知らない子だったか・・・
どうりで話が通じないわけだ
0434デフォルトの名無しさん
NGNGFIN 受信は「エラー処理」じゃないけどな。
多分、>>423 が自作した「ソケットライブラリ」だと、コネクションの
終了を識別できないんだろうよ。
0435デフォルトの名無しさん
NGNG0436デフォルトの名無しさん
NGNGNATテーブルなどがクリアされて異常切断された場合が
見分けられることになるけど、方法が思いつかない
0437デフォルトの名無しさん
NGNGエラー処理をちゃんとやれよ。
TCPのレベルで到着保証がないと言うバカは流石にいなくなったか…
0438デフォルトの名無しさん
NGNGFINを受け取って切断されたかどうかはどうやって調べるの?
別に判別できなくても困りはしないけど、
話の流れだと判定方法があるらしいので気になったんだけど
0439デフォルトの名無しさん
NGNG> 別に判別できなくても困りはしないけど、
幸せなヤツだ...。
先に FIN を送出した側に TIME_WAIT が残るから、
サーバ側アプリケーションは、相手からの FIN 受信
を検出してから、ソケットを close() するのが一般的
じゃないの?
0440デフォルトの名無しさん
NGNG何故必死に話題をそらそうとしているの?
0441429
NGNGそういう場合としては、RST を受け取った場合とタイムアウトの場合があるが、
どちらもUNIX 系なら、ECONNRESET および ETIMEDOUT で分かる。
winsock の場合 ECONNRESET/ETIMEDOUT の他に、WSAECONNRESET/ESAETIMEDOUT
も別名として定義されているので、そちらを使っても良い。
>>433
なるほど、そういう意味だったか。失礼した。
で、その駄目駄目な実装ってどれよ? 実名キボン。
組み込み系ならありがちだが、もっとマトモな実装に乗り換えた方がいいん
じゃないの?
0442デフォルトの名無しさん
NGNG完全に証明されました(w
0443デフォルトの名無しさん
NGNGエラーが起きなかった時に何が達成されるか分からないんですねえ。
0444デフォルトの名無しさん
NGNGTCPの挙動が必ずsocketに反映されるという仮定は不安があるな。
0445デフォルトの名無しさん
NGNGまあ所詮通信制御だから当然なんだろうけど、
ストリームとして見た場合はキモイね。
0446デフォルトの名無しさん
NGNG良く分からないが、「UNIXにおけるストリームとして」は、
バッファサイズ未満で後に続く場合があるのは、全くもって
普通というか、当たり前で、全然キモくない。
例えば、UNIX誕生当時からあるttyストリームも、まったく
同じ挙動を示すからね。
0447デフォルトの名無しさん
NGNGちゃんとソケット使う環境に応じたマニュアル読めよ。
> TCPの挙動が必ずsocketに反映されるという仮定は不安があるな。
誰がそんな大ざっぱなこと言ってんだよ。
>>445
ハゲワラタ
オコチャマかよ
0448デフォルトの名無しさん
NGNGつーか、「ストリーム」だったら、
後続があるのか、いつ後続が来るか全く分からないから、
指定サイズ以下でもread/recv等が戻ってくるのは当たり前だよ。
バッファ一杯になるまで待ってたら、ブロッキングしちゃうよ。
相手がなかなか送らない場合とかにね。
→"ping MaM\r\n"(MaMは可変長メッセージね)
←"pong MaM\r\n"
これだけのプロトコルでも、1024byteのバッファ渡して埋まるまで待ってたら、
はなからブロッキングしてしまう(w
0449デフォルトの名無しさん
NGNG>>446はおそらくJavaの人。
ストリーム=ブロッキングです。
0450デフォルトの名無しさん
NGNG確かに、TCPが直に見える実装って知らんな。
finが分かると主張されてもねえ。
0451デフォルトの名無しさん
NGNGお前もういいから寝ろ。アラシにしてもつまらん。
0452デフォルトの名無しさん
NGNG0453デフォルトの名無しさん
NGNGsocket FAQを読みましょう
0454デフォルトの名無しさん
NGNG407は、相手==相手のアプリケーション として答えていて、
409は、相手==相手のトランスポート層(==ふつうは相手のマシン
のカーネル) として答えているので、それぞれの視点では、
どちらとも正しい。
まあ、でも、403のような質問に関しては、404+407の方が
実用的な回答だろう。
0455デフォルトの名無しさん
NGNG視点の違いですか。なるほど。
ありがとうございました。
0456デフォルトの名無しさん
NGNG(ようにみえる)ということですか?
0457デフォルトの名無しさん
NGNGお前もういいから寝ろ。アラシにしてもつまらん。
0458デフォルトの名無しさん
NGNG仕組みがわからなきゃプログラムどころじゃないわけで。
>>1-6を読んで見るとか、本買って勉強するとか。
参考に3年以上生きてる名スレを紹介してみる
これは読んどけ!ネットワーク必読書
http://pc.2ch.net/test/read.cgi/network/954649325/
0459デフォルトの名無しさん
NGNGRFC はないけど、UNIX ブランド取るには X/Open のテスト
(SPEC1170) をパスしなければなりません。そういう意味で
標準はあります。関数の引数とかだけじゃなくて、細かい
動作もある程度規定されてます。
>>450
TPI (Transport Provider Interface) って知ってる?
普通のプログラマは意識せんかもしれんが...。
>>450 は TLI (XTI) の存在も知らんのだろうな。
>>456
フロー制御だってやってるだろう。それはアプリケーション
からもわかることだぞ。
0460デフォルトの名無しさん
NGNG0461459
NGNGアプリケーションレイヤでの話でしょう。
TLI は TPI をある程度意識するよね?
ソケットは意識しないけど。
まあ、イマドキ TLI なんか使わないけど、
一つの例ということで。
0462デフォルトの名無しさん
NGNGネタ振る奴の事だろ
答える側が勝手に決めてどうするよ
0463デフォルトの名無しさん
NGNG0464デフォルトの名無しさん
NGNG0465デフォルトの名無しさん
NGNG場合で、確実に FIN を送りたければ shutdown(SHUT_WR)
を呼ぶ必要がありますね。
ソケットを close() しても、他のプロセス側がまだ close()
してなければ、リファレンスカウンタが 0 にならないので、
FIN が流れない。こういう場合に shutdown() は使えます。
が、特殊ケースだと思う。
0466デフォルトの名無しさん
NGNG複数プロセスでソケットのfdって共有できるの?
スレッドだったらわかるんだけど。
アホな質問だったらスンマそ
0467デフォルトの名無しさん
NGNG0468デフォルトの名無しさん
NGNG例えばforkしたら親と子で同じfdが共有されるぞ
WindowsならWSADuplicateSocketとか
0469デフォルトの名無しさん
NGNG通信用はshutodown
0470デフォルトの名無しさん
NGNG単一プロセスでも、half open が必要な場合には、SHUT_WR が要る。
0471デフォルトの名無しさん
NGNG0472デフォルトの名無しさん
NGNGレイヤをそれに限るならば、正しい。
0473デフォルトの名無しさん
NGNG言いたがる奴は、単なるアホにしか思えないんだが。
0474デフォルトの名無しさん
NGNG0475デフォルトの名無しさん
NGNGなるほど、forkか。
最近、forkで子プロ作るよりも、スレッド使うほうが多いので。。。
みんな、結論って何を求めてるんだろう。
どのレイヤから見てるかってだけで、
基本的に、みんないっしょのこと言ってる気がするんだが。。
0476デフォルトの名無しさん
NGNG俺のこと?
実際には、TCPは順序保証しかしないわけじゃなく、
フロー制御、輻輳回避など、他にもいろいろやっているから。
で、これらに関して、アプリケーションから介入する必要が
あることもあるから。例えば、TCP_NODELAY や、SO_RCVBUF
の設定とかね。
0477デフォルトの名無しさん
NGNGとりあえず、通信できるか見てみようと
public String conection(String fName)
{
Socket sock=null;
InputStreamReader irStr=null;
OutputStream osStr=null;
String stReturn=new String();
try { // サーバー接続用ソケットと入出力ストリーム作成
sock=new Socket(Addr,80);
irStr=new InputStreamReader(sock.getInputStream());
osStr=sock.getOutputStream();
} catch(Exception e) {
return "Error!";
}
return "Conect";
}
こんなのを組んでみたんですが、全くつながりません。
色々やってみて、すでにウェブにアップされてた完成品のソースとかも
コピーしてみてやってみたりしたんですが、全てつながりません。。
原因わかりますか??
0478デフォルトの名無しさん
NGNG0479デフォルトの名無しさん
NGNGInternetをはさんだ、Client/server型のSystemを作ろうと思ってます。
Serverから見た同一IPからくる、ルータ下の複数台マシンの特定は、
送信ポートで判断するのが良いのでしょうか?
私の理解では、
マルチNATを持っているルータは
パソコン1 192.168.0.2:1300>ルータ>165.62.21.30:1500
パソコン2 192.168.0.3:1300>ルータ>165.62.21.30:1501
と、ルータが自動で送信ポートを被らないようにしてくれるので、
サーバ側は送信ポートを見ればルータ下のマシンを特定が可能・・。
と考えているのですが、この考え方で設計しても問題無いのでしょうか?
また、一般的に動的NAT、マルチNATと言った場合、
TCPの機能を指すと思うのですが、UDPも含まれているのでしょうか?
TCPの方は閉めるまで状態を維持してくれそうなのですが、
UDPは時間で勝手に閉じてしまうような・・。
0480デフォルトの名無しさん
NGNGIP, RouterIPで区別できるでしょう。
0481デフォルトの名無しさん
NGNG激しくNATの実装に依存するのでやめたほうがいい。
TCPでも、一定時間データが流れていなければ、NAT変換テーブルを消してしまう
ルータもたくさんある。
>>480みたいにするか、cookieみたいのを使うかだな。
0482デフォルトの名無しさん
NGNG全く同じになる場合にうまくいかんから、やめた方がいい。
ISP内のネットワーク全体がプライベート・アドレス空間になって
いて、各ユーザーのところと、ISPのところで、2段にNATがかむこと
があるから。
そもそもIPアドレスを埋め込むようなやり方は、アプリケーション
をプロトコル独立にするという基本原則に反するしな。IPv6 対応
するのに、アプリケーションの書き直しが必要になるというのも
嫌だろ。
だから、cookieを発行するようなやり方の方がお勧め。
0483デフォルトの名無しさん
NGNG0484デフォルトの名無しさん
NGNGアプリケーションレイヤーのソフトウェアは getaddrinfo を使えば書き直しは必要ないと思う。
0485デフォルトの名無しさん
NGNG0486デフォルトの名無しさん
NGNGgetaddrinfo で十分だろ。もちろん、書き直しが必要になるようなUI
もありうるが、普通はそこまで作り込む必要もないんじゃないかな。
0487デフォルトの名無しさん
NGNGうははははは、
昔
LOGIC>>>>>>>>>>>>UI
今、
UI>>>>>>>>>>>>>>>>>>>>>>>>>>>>>LOGIC
昔>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>今
0488デフォルトの名無しさん
NGNGEthrealみても
Transation IDとか
Queries->Nameの部分の先頭のバイトの書き方がいまいちわかりません
DNSのUDPでのクライアントの投げかけを解説してる資料ってないですか?
0489デフォルトの名無しさん
NGNGRFC見た〜?
0490デフォルトの名無しさん
NGNGすんませんRFCの何番でしょうか
0491デフォルトの名無しさん
NGNGそんぐらい自分で探せるようじゃないと芋づるで出てくる問題に対処できんよ。
とりあえず RFC1035(STD13)。
googleで
rfc1035 日本語
と打てば日本語訳も見つかる。
0492デフォルトの名無しさん
NGNG0493デフォルトの名無しさん
NGNG何が言いたい?別に何とも思わないが。
0494デフォルトの名無しさん
NGNGアプリケーションのレベルで、IPアドレス入力専用の
UIを持っているソフトって、そんなにあったっけか。
コントロール・パネルのIPアドレス設定とかは専用UI
だけど、たとえばInternet Explorerのproxyホスト名
設定UIみたいなのなら、getaddrinfoで書けるよな?
0495デフォルトの名無しさん
NGNGそれは、「はじめから、v6対応で作る」というのと
どうちがうんだ?
0496デフォルトの名無しさん
NGNG0497デフォルトの名無しさん
NGNG入力チェックどうするの?
throw new IllegalArgumentException
投げるBeanにするか
UIで完全にチェックしてからBeanにセットするか
0498デフォルトの名無しさん
NGNGV6移行で忘れ去られてる問題の一つやね。
0499デフォルトの名無しさん
NGNGv6 対応で作るのと、protocol 独立に作る というのの違いかな。
後者の方が、より望ましい。
実は200年後には超光速通信が発明されて、銀河間通信が可能に
なり、v6アドレス空間セマスギとか言ってるかもしれんしな。(ぉ
0500デフォルトの名無しさん
NGNG0501デフォルトの名無しさん
NGNGTCP/IPは使われてそうだからコワイ(w
0502デフォルトの名無しさん
NGNG> この考え方で設計しても問題無いのでしょうか?
問題ない。
TCP接続は<送受双方のIPアドレス、ポート番号>という四つ組みで識別される。
> UDPは時間で勝手に閉じてしまうような・・。
これはNAT環境依存。
TCPは上に書いた理由から必ず固定。
0503デフォルトの名無しさん
NGNG> 問題ない。
俺も、問題ないような気もするんだが、その場合、そもそも
クライアント側のIPアドレスやポート番号など意識する必要ないよな。
IPアドレスもポート番号も気にせず、単純に別のコネクションは、
たとえ同一ホストから来ていても、別のホストであると解釈すれば
いいだけだから。
このスレのこれまでの回答は、同一クライアントから複数のコネク
ションが来ることもありえて、その場合、そういった複数のコネク
ションが同一ホストからであるということをサーバー側で識別する
必要がある(そのために例えばcookieを発行する)という前提で
書かれていると思う。
479の本当の意図はどちらなんだろう?
同一クライアントからの複数のコネクションを識別する必要がある?
ない?
0504デフォルトの名無しさん
NGNG0505デフォルトの名無しさん
NGNGもう少し付け足すと、ネットゲームを設計中です。
以下のような状況、理想を前提として、設計中です。
1、1kbyte/sec程度は常にやり取りがある
2、4〜5時間は繋ぎっぱなし
3、接続時に認証を行う
4、ユーザは、ルータの設定を行わないでも遊べる(静的NATは使わない)
5、ルータ下の同一IPからの複数の接続に対応させる。
6、古いルータにも対応させる(動的NATを利用)
7、1台1クライアント
8、可能な限りデータはスマートにする(1パケット毎にクライアント情報は入れない)
皆さんのおっしゃるcookieに相当するのは、3ですよね。
私が気にしていた一番の問題は、UDP下での、認証後のルータの挙動でした。
そもそも、8の前提から無駄データは入れたくない、
認証後はポート番号で特定しようとおもった、
しかし一度Portと認証でクライアントを特定しても、
発信ポートがいきなり変わったりしないかが心配でした。
ただ、さらに調べたのですが、
根本的にUDPを使用すると、偽証やら負荷Attackやらされやすいのに対し
(有効なデータかどうかはサーバで判断)、
TCPの接続要求Rushは、FireWallレベルでHateListに入れたりできるみたいなので、
負荷対策のためにもTcpに絞ろうと今は思っております。
>502-503
さんきゅー、安心して設計出来ます。
0506デフォルトの名無しさん
NGNG0507デフォルトの名無しさん
NGNGたぶん>>479は、UDPの場合について知りたい、
ポート番号が変ると困っちゃうの、というだけじゃないかな?
cookieは、
> 同一クライアントから複数のコネクションが来ることもありえて、
にも、ポート番号の変化にも対応できるから、cookieがいいと思うが。
プログラム技術版らしい解決方法だし。
0508>>507
NGNG0509479
NGNG>ポート番号が変ると困っちゃうの、というだけじゃないかな?
いや、正解に限りなく近い。w
>506
一応、server >Client に関してはUDPを使用しても安心かなとは思ってるんですが、
管理や汎用性を調べるのが大変そうなので、少しTcpに絞ってやってみようと思ってます。
0510デフォルトの名無しさん
NGNG0511デフォルトの名無しさん
NGNG0512デフォルトの名無しさん
NGNGGoogleで"URIとは"という単語で検索するとみつかる。かも。
0513デフォルトの名無しさん
NGNG0514デフォルトの名無しさん
NGNGRFC1737 Functional Requirements for Uniform Resource Names
RFC1738 Uniform Resource Locators (URL).
RFC2396 Uniform Resource Identifiers (URI): Generic Syntax
RFC3305 Report from the Joint W3C/IETF URI Planning Interest Group:
Uniform Resource Identifiers (URIs), URLs, and Uniform Resource Names
(URNs): Clarifications and Recommendations.
疑問点があれば、それぞれの参考資料も読むこと。
0515デフォルトの名無しさん
NGNG漏れは他にも「○○ 用語」とかでぐぐってる。すると用語集などが引っかかる。
0516デフォルトの名無しさん
NGNG>>514
RFC の番号まで教えてくださって、ありがとうございます。
0517デフォルトの名無しさん
NGNGHTTP/1.1でGET投げてもHEAD投げても全く同じレスポンスが返ってくるのですが
rfc2616ではHEAD投げるとサーバーのレスポンスにメッセージボディを含まないとありますよね?
全く同じモノが返るのはおいらのプログラムがヘボなんでしょうか?
それとも同じモノが返って正解なんでしょうか?
そもそもメッセージボディって?
教えてエロイ人
0518517
NGNG0519デフォルトの名無しさん
NGNG0520517
NGNG/*戻り
HTTP/1.1 200 OK
Date: Mon, 14 Jul 2003 09:55:22 GMT
P3P: policyref="http://privacy.yahoo.co.jp/w3c/p3p.xml", CP="CAO DSP COR CUR ADM DEV TAI PSA PSD IVAi IVDi CONi TELo OTPi OUR DELi SAMi OTRi UNRi PUBi IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE GOV"
Cache-Control: private
Pragma: no-cache
Connection: close
Content-Type: text/html;charset=euc-jp
(略)
で、HEADを投げても同じだったという事なんですが。
0521517
NGNG0522デフォルトの名無しさん
NGNG0523デフォルトの名無しさん
NGNGよくわからんが、ちゃんとヘッダのみ返ってきたぞ。
0524デフォルトの名無しさん
NGNGブラウザではそんなことないのに。
0525524
NGNG0526デフォルトの名無しさん
NGNG>>524は分かっているようだが判らない香具師の為に
「EUCだから」
0527デフォルトの名無しさん
NGNG俺も試したがヤフーはダメだった
2chはヘッダだけ返した
馬鹿だからサーバー側の事はあんまわからん:・゜・(ノД‘)・゜・。
0528デフォルトの名無しさん
NGNGconnection: keep-alive だったらボディが返ってくるとマズイけど(次のレスポンスの開始がわからんくなる)、close だったらヘッダ後に何が返って来ようと大した問題にはならんのでは?と思った。間違えてたらスマソ。
行儀の悪い相手に寛容でありましょう、とかRFCに書いてあった気がする。うろ覚え。
0529デフォルトの名無しさん
NGNGconnection: keep-aliveの場合はRFCには定義はなく、
HTTP/1.1ではkeep-aliveで起きる問題を回避するために
persistent connectionとして別に定義されてるんだったような。
で、HTTP/1.1ではMUST NOT return a message-bodyなのに
結局www.yahoo.co.jpはHEADでbody返してるみたいだなあ。
0530デフォルトの名無しさん
NGNGhttp://www.w3.org/Addressing/
の図を見れば、URN, URL, URIの関係は一目瞭然。
URIが一番大きなカテゴリです。
0531デフォルトの名無しさん
NGNGでも【HEAD /2ch.html HTTP/1.1\nUser-Agent: test】にするとHTTP/1.1 400 Bad Request
これも謎っす
HTTP/1.1にしてGETだのHEADだのしても400返すのはなんで?
2ちゃんだとブラウザとかでもHTTP/1.1を使用するのを推奨してるけど。
どうやら俺は基本がわかってない予感
0532デフォルトの名無しさん
NGNG0534山崎 渉
NGNG__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
0535デフォルトの名無しさん
NGNG各種開発ツール(VC++6.0,VB6.0,C++Builder6.0など)
より使用できるtelnetのコンポーネントやdll、クラスなど
の製品orフリーソフトなどをご存じないでしょうか?
ご教授、よろしくお願いいたします。
0536デフォルトの名無しさん
NGNGwsock32.dllでいいの?
0537デフォルトの名無しさん
NGNGBCBならIndyを使っとけ
0538デフォルトの名無しさん
NGNGカラーvt100とかマジ対応考えなけりゃね
loginしてコマンド打ったりするぐらいならRFC2、3日眺めたら作れるよ
得体の知れない変なコンポーネントに頼る必要ない
だれかtelnetのソースきぼんぬ
0540デフォルトの名無しさん
NGNG0541デフォルトの名無しさん
NGNG2,3日でつくれると嘯きながらソースきぼんぬかよ。
0542デフォルトの名無しさん
NGNG二律背反の主張こそが日本文化の極みだヨ
0543デフォルトの名無しさん
NGNG0544デフォルトの名無しさん
NGNG0545479
NGNGsageって言葉知ってる?
0546デフォルトの名無しさん
NGNGなんだこいつ?
0547デフォルトの名無しさん
NGNG0548479
NGNG0549デフォルトの名無しさん
NGNGsageって言葉知ってる?
0550デフォルトの名無しさん
NGNG相性のよい素材
原産地:地中海沿岸
科 名:シソ科(多年草)
使用部分:葉
スパイス
植物
特徴・使い方
肉の脂肪の臭みを消す働きがあるので、ソーセージやハンバーグなどのひき肉料理に使われます。
キャベツ、カリフラワー、コーンなどの温野菜料理や豆のスープなどにもあいます。
イタリア・ローマの名物料理である子牛と生ハムを使った「サルティン・ボッカ」という料理にも使われます。
0551デフォルトの名無しさん
NGNGa., n. 賢い; 賢人(ぶった).
sage・ly ━━ ad.
sage・ness ━━ n.
Seven Sages (of Greece) (the 〜) (古代ギリシアの)七賢人.
俺としてはこっち。
0552デフォルトの名無しさん
NGNG0553デフォルトの名無しさん
NGNGsageって言葉知ってる?
0554デフォルトの名無しさん
NGNGスカボロフェアか
0555デフォルトの名無しさん
NGNGhostent 構造体のメンバ h_addr_list に入れてくれないIPアドレスがあるのですが
これはどういうことでしょうか。
2台のマシンでIPアドレス取得プログラムを走らせたんですが、1台目はOKで
2台目はグローバルなIPアドレスが格納されてないのです。
0556デフォルトの名無しさん
NGNGとりあえずdigで、後者のホストでホスト名解決すると、
本当に二つのエントリがあるのかどうか調べてみては。
host1$ dig hostname
host2$ dig hostname
digの使っているlibraryも疑いたいならば、
host# tethereal -V port domain
して確かめてみれば?
0557555
NGNG0558デフォルトの名無しさん
NGNG0559デフォルトの名無しさん
NGNG0560質問
NGNG無理ですか?
0561デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/php/
0562デフォルトの名無しさん
NGNGhttp://www.tanteifile.com/diary/2003/07/09/image/05.gif
0563デフォルトの名無しさん
NGNGPerlでネットワークプログラムを組みたいんですけど、何か良い書籍とか知っている人いますか?
できればちょっとUGなことまで書いてある本捜してるんですけど
0564デフォルトの名無しさん
NGNGセキュリティ
http://pc.2ch.net/sec/
WebProg
http://pc2.2ch.net/php/
0565デフォルトの名無しさん
NGNGすみません、板違いでしたね
0566デフォルトの名無しさん
NGNGUGってなによ?
>>565
perlでSOAP叩くlibrary書くとかならここでもよか。
0567デフォルトの名無しさん
NGNGあの白血病の特効薬見つける奴じゃないの?
0568デフォルトの名無しさん
NGNGきっと夏休み語
0569デフォルトの名無しさん
NGNGライブラリなぞつかわずとも、自分でXML作って投げれば良かろう。
って言うか普通にMS-SOAP ToolKit使えばと。
0570山崎 渉
NGNG0571デフォルトの名無しさん
NGNG透過的に使えないSOAPに何の価値があるというのか。
で、わざわざPerlでMS-SOAP ToolKitかよ。
0572デフォルトの名無しさん
NGNG0573デフォルトの名無しさん
NGNGPHPでSAX使ってDOMもどき作ってSOAP通信を隠匿するクラスライブラリ書きましたが何か?
書かないのと書けないのとでは大違いというこった。
0574デフォルトの名無しさん
NGNG> UGってなによ?
Under Ground、アングラでしょ。
0575デフォルトの名無しさん
NGNGヘッダーファイルとライブラリの区別が付かない厨房
0576デフォルトの名無しさん
NGNG>>575
お前バカだな。
0577デフォルトの名無しさん
NGNG0578デフォルトの名無しさん
NGNGgcc -save-temps
か
cpp0
をかけて
*.iをみてみなさいってこった
と>>577はいいたいそうです
0579デフォルトの名無しさん
NGNG0580デフォルトの名無しさん
NGNGだったらstdio.hはライブラリの一部だろ。
0581デフォルトの名無しさん
NGNG0582デフォルトの名無しさん
NGNG書いても使わない
0583デフォルトの名無しさん
NGNGなるほど。作って捨てるわけか。阿呆だな。
0584デフォルトの名無しさん
NGNG広義には (あるいはこじつければ) そうかも知れんが、普通にライブラリと言ったらヘッダファイルは含まん。
0585デフォルトの名無しさん
NGNG0586デフォルトの名無しさん
NGNG>>585
お前バカだな。
0587デフォルトの名無しさん
NGNG>>586
STLって何の略か知ってるか?
0588デフォルトの名無しさん
NGNG0589デフォルトの名無しさん
NGNG>>586みたいな・・・
0590デフォルトの名無しさん
NGNG主にソケットに関しての質疑応答スレです。
- 再開 -
0591デフォルトの名無しさん
NGNGまさかプロとか言わないよな?>>587
0592デフォルトの名無しさん
NGNGなぜそこでSTLを出す?
0593デフォルトの名無しさん
NGNG誰とは言わないが 馬鹿がいます
0594デフォルトの名無しさん
NGNG0595GET!DVD
NGNG★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
☆★ 送料激安! スピード発送! 商品豊富!
★☆ http://www.get-dvd.com
☆★ 激安DVDショップ 「GETDVDドットコム」
★☆ http://www.get-dvd.com
☆★ 今すぐアクセス Let’s Go! 急げ!
★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
0596デフォルトの名無しさん
NGNGどう考えてもライブラリだろう。STLを何の略だと思ってるんだ。
0597デフォルトの名無しさん
NGNG0598デフォルトの名無しさん
NGNG0599デフォルトの名無しさん
NGNG0600デフォルトの名無しさん
NGNG3次元CADのデータの形式の一つです。
STLは、「Stadard Triangulation Language」(標準三角パッチ言語)の略です。
STL形式は、特に光造形における標準ファイルフォーマットとして使用されています。
0601デフォルトの名無しさん
NGNGなるほど
>>585>>596
プ
0602デフォルトの名無しさん
NGNG> stdio.hはCの標準ライブラリが提供しているヘッダじゃないのか? (>>580)
誰も、C++ 話なんかしてないぞ。
それとも、最近は C でもテンプレートが使えるようになったのか ?
0603デフォルトの名無しさん
NGNG(´`c_,'` )プッ
ヘッダにCコードが欠けることを知らない消防発見
add.h
--------------
int add(int i);
int add(int i)
{
i++;return i;
}
-------------- main.c
#include <add.h>
int main(int argc.char **argv){
int i=9;
add(i);
}
0604デフォルトの名無しさん
NGNGなにか、必死な風味がするのぅ。
複数のソースで、そのタコヘッダーをインクルードして、コンパイル&リンクしてみたことある?
0605デフォルトの名無しさん
NGNG0606デフォルトの名無しさん
NGNG0607デフォルトの名無しさん
NGNG0608デフォルトの名無しさん
NGNG0609デフォルトの名無しさん
NGNG「こじつけ」っていう言葉知ってる ?
0610デフォルトの名無しさん
NGNG...歳がバレるな
0611デフォルトの名無しさん
NGNG0612デフォルトの名無しさん
NGNG当たり前だろ。何言ってんだ。
0613デフォルトの名無しさん
NGNG>>584みたいな奴が紛れてるから。
0614デフォルトの名無しさん
NGNG0615デフォルトの名無しさん
NGNG0616デフォルトの名無しさん
NGNGネットワークプログラミング相談はどうしたんだよ。
0617デフォルトの名無しさん
NGNG自演ご苦労。
ところで、「Cヘッダ」ってなんだ ?
0618デフォルトの名無しさん
NGNG自分の敵は一人だ(自演してる)と思い込むのは助かりたくて必死である証拠だよ。
(ちなみに俺は>>612=>>614だが)
自分だけ意見が異なる際に「周りのみんなが変なんだ」と訴えるのは止めた方がいいよ。
「周りが変だ」じゃなくて「自分が変なんだ」だと気付かなきゃ。
間違いは誰でもあるよ。それを指摘されて素直に訂正できるかどうかが大事なんだ。まあガンバレ
0619デフォルトの名無しさん
NGNG0620デフォルトの名無しさん
NGNGそれ言い方変えただけやん
0621デフォルトの名無しさん
NGNG0622デフォルトの名無しさん
NGNG大馬鹿だな( ´,_ゝ`)
0623デフォルトの名無しさん
NGNG0624デフォルトの名無しさん
NGNG0625デフォルトの名無しさん
NGNG> お前らはこれがネットワークの話だと思ってるわけか。
> 大馬鹿だな( ´,_ゝ`)
これのどこがネットワークの話だ
0626デフォルトの名無しさん
NGNG0627デフォルトの名無しさん
NGNG0628デフォルトの名無しさん
NGNGハイハイわかったから、そんなに必死になるなよ。
0629デフォルトの名無しさん
NGNGム板のスレってここしか見てないけど、どれもこんなん?
我が強い人が多いのね、プログラマーって。
0630デフォルトの名無しさん
NGNG0632デフォルトの名無しさん
NGNG0633デフォルトの名無しさん
NGNG0634デフォルトの名無しさん
NGNGへぇ、すごいんですね!
0635デフォルトの名無しさん
NGNG> どれもこんなん?
そんなことないよ・・・
0636デフォルトの名無しさん
NGNG>>635
コーディング規約
http://pc2.2ch.net/test/read.cgi/tech/1056716338/
で 144 ◆O1EofOj10A が暴れてるよ。見てて面白いよー。
発端は
http://pc2.2ch.net/test/read.cgi/tech/1056716338/24-
だけど。24と144は同一人物かなー。
0637デフォルトの名無しさん
NGNG0638デフォルトの名無しさん
NGNG0639デフォルトの名無しさん
NGNG内容は良く分からんかったが、やりとりがおもろい。
なんとなく人物が想像できるなぁ。 144 ◆O1EofOj10A
きっと悪いやつじゃ無いんだよ。いぢめないであげよう!
0640デフォルトの名無しさん
NGNG最初だけ名前解決に失敗して2回目からはちゃんと
成功するのですが なじぇ?(゚▽゚;
struct hostent *hoste = gethostbyname("w3.monar.net");
if(hoste == NULL){
Memo1->Lines->Add("ほすと名の解決失敗(゚▽゚;");
}
0641デフォルトの名無しさん
NGNGhttp://pc.2ch.net/prog/
0642デフォルトの名無しさん
NGNG0643デフォルトの名無しさん
NGNG・二発目までに問い合わせ完了・キャッシュに入れとく
とか。
0644デフォルトの名無しさん
NGNG最初だけ名前解決に失敗して2回目からはちゃんと
成功するのですが なじぇ?(゚▽゚;
struct hostent *hoste = gethostbyname("w3.monar.net");
if(hoste == NULL){
Memo1->Lines->Add("ほすと名の解決失敗(゚▽゚;");
}
0645デフォルトの名無しさん
NGNGmiss gome
0646デフォルトの名無しさん
NGNGwww.monar.netでやっても結果は同じなのか?
0647デフォルトの名無しさん
NGNG一発目はディレイがなくてタイムアウト
二発目はちゃんとディレイして解決!
ってのがはっきり分かるくらい違う
一発目でちゃんとディレイをいれて解決してほすい
0648デフォルトの名無しさん
NGNGmonar.netは違う関数を使って下さいとでました。
0649デフォルトの名無しさん
NGNGgethostbyMonername() ですね
0651デフォルトの名無しさん
NGNGソケットオープンの後じゃないと失敗するんだ〜
0653デフォルトの名無しさん
NGNGwinsockのinitialize前といいたい?
0654デフォルトの名無しさん
NGNGsocket関数の直後です
0655_
NGNG0656デフォルトの名無しさん
NGNG0657デフォルトの名無しさん
NGNGWebサーバ(Apache)からlzhやexeファイルを受信するソフトを作ってるんだけど、
とりあえず設置してhttp://hoge.hoge.hoge/hoge.lzhとIEでアドレスを指定するとおっこってくるのね。
受信できる事を確認した上で、
自分のSoftでつないでGETで受信しようとすると、エラー(503だったかな?)が返ってくる。
でもlzh,zip意外・・たとえばjpg等に改名すれば自分のソフトでも受信できる。
どこが悪いのかな?
GET\r\n\r\nで受信しようとしてるんだけど、2回目の改行の前に何か入れなきゃダメ?
ほかには、.htaccessにAddTypeを追加したり色々してるんだけど上手く遺憾。
0658デフォルトの名無しさん
NGNG> エラー(503だったかな?)が返ってくる。
「だったかな?」じゃねーだろよ。
ちゃんとみれ
0659デフォルトの名無しさん
NGNG全部提示しろ。
0660デフォルトの名無しさん
NGNG質問なのですが、バイナリ変換してパケットを送信する際に
intの場合”2 の補数表現で符号化したものをバイナリ値とする”
とかで変換する必要があるって記述があるけど実際には
2の補数表現を用いずそのまま送信しているケースってありますか?
定義されているにも関わらずです
0661デフォルトの名無しさん
NGNGそういうクライアントの辿る運命は誰も知らない。
0662デフォルトの名無しさん
NGNG根本的な質問で申し訳ないのですが
例えば0000 0001 の2の補数表現は
1111 1111で正しいですか?これを1としてパケットのバッファ
に挿入する事が正しいのでしょうか?
超有名どころのオープンソースのクライアントは
2の補数表現を用いず 0000 0001としてそのまま送信しています。
定義は2の補数表現を用いろと言っているにも関わらずです。
一体どちらが正しいのでしょうか?
一番可能性が高いのは2の補数表現というものを私が勘違い
している事です。
0663デフォルトの名無しさん
NGNG1の2の補数表現は0000 0001だろ。1111 1111は-1
0664デフォルトの名無しさん
NGNGこれは負の値の表現方法の違いで、1はどっちでも00000001なわけ。
>”2 の補数表現で符号化したものをバイナリ値とする”
これは、ふつうに読めば、「負数の表現は2の補数でやってね」としか読めない。
わざわざ正数Xを負数にした上で、2の補数表示をする必要はない。
0665デフォルトの名無しさん
NGNGやっぱりTT
数学の教科書買ってきます
0666デフォルトの名無しさん
NGNGそゆことなんですねTT
Eatherealがいくら符号なしで表示しようと
鯖側で復号されていると信じますTT
0667デフォルトの名無しさん
NGNGわざわざそんな本いらんよ。
適当にぐぐれば説明出てくるかと
0668デフォルトの名無しさん
NGNG0669デフォルトの名無しさん
NGNG基本はぐぐって勉強してるんですが
基本的な部分が分かってなくて変な所で勘違い
しちゃってハマるとつらいっす(今回が良い例なのですが..)
本当のとこ どうなんだろ〜って永遠の悩みに突入しちゃうw
0670デフォルトの名無しさん
NGNG0671デフォルトの名無しさん
NGNG補数表現=ビット列のいちばん左が1なら全ビットを反転させて-1した数の負の値とする、って感じか。
1000 0100なら普通なら128+4=132だけど、補数表現だと負なのでまず全ビット反転して0111 1011、
それから-1すると0111 1010、これは122を表すが、これに-をつけたもの(-122)が1000 0100の表す値。
0672デフォルトの名無しさん
NGNG+1じゃないか?
0673デフォルトの名無しさん
NGNGですね アリ^^
2の補数というのが何者なのか理解できていなかったので...
概念が分かっていないのが苦しい..w
0674デフォルトの名無しさん
NGNGあの つまり 慣れてないんですw
0675デフォルトの名無しさん
NGNG正→負、負→正、どっちも+1だったのか… 間違って覚えてたよ、ものすげえ鬱だ…( ´Д⊂ヽ
これを直接やるプログラムを今まで書く機会がなかったのが唯一の救いと言うべきか
0676デフォルトの名無しさん
NGNG0677デフォルトの名無しさん
NGNG0678デフォルトの名無しさん
NGNG/⌒ヽ
/ ´_ゝ`)ここ通らないと行けないので、ちょっと通りますよ・・・
| /
| /| |
// | |
U .U
0679デフォルトの名無しさん
NGNG聞くほうも聞くほうなら
答えるほうも答えるほう。
0680デフォルトの名無しさん
NGNG0681デフォルトの名無しさん
NGNG0682デフォルトの名無しさん
NGNGその辺吸収してくれるのがソケット君では?
0683デフォルトの名無しさん
NGNGソケット君はバイトストリームだから面倒みてくれないよ。
0684デフォルトの名無しさん
NGNG意地悪でつね。ソケット君。
0685デフォルトの名無しさん
NGNGどうしたらいいですか?
0686デフォルトの名無しさん
NGNG0687デフォルトの名無しさん
NGNGあなたのコネクタはIEEE規格を満たしていないので無理です
0688デフォルトの名無しさん
NGNG僕のパラレルポートも閉鎖されそうです!
0689デフォルトの名無しさん
NGNG0690デフォルトの名無しさん
NGNG0691デフォルトの名無しさん
NGNGttp://www.girlsonair.tv/
0692デフォルトの名無しさん
NGNG聞くほうも聞くほうなら
答えるほうも答えるほう。
0693デフォルトの名無しさん
NGNG0694デフォルトの名無しさん
NGNG0695デフォルトの名無しさん
NGNG0696デフォルトの名無しさん
NGNG0697デフォルトの名無しさん
NGNGRPC君に助けを求めなさい
0698デフォルトの名無しさん
NGNGIPアドレスのリストにgethostbyaddrをかけて順次ホスト名を得ようとしています。
ホスト名が引ける場合はいいのですが、ホスト名が無い等で引けない場合が遅いので、イライラしちゃいます。
速度アップの方法はないでしょうか
例:ホスト名を引けるか引けないかだけを知るより高速な関数を使って調査し、引ける場合にgethostbyaddrする とかね
0699デフォルトの名無しさん
NGNGdjbのdnsfilterを参考にしてみたら?
0700デフォルトの名無しさん
NGNG否定的であれ肯定的であれすぐに返事が来るときはいいのですが、
返事が来ない場合、単に遅いのか、それとも答えるべきサーバが落ちてるのか分かりません。
だからタイムアウト処理をして、それを唯一の根拠とする必要があります。
DNSなら、>>699の上げている奴以外には、ares, adnsなどのlibraryが使えます。
http://packages.debian.org/unstable/libdevel/libares-dev.html
http://packages.debian.org/unstable/libdevel/libadns1-dev.html
0701698
NGNGありがとうございます。
せっかく回答いただいたのに活用できません。申し訳ないです。
問題はですねー当方がVCL厨だってことなんです。
よってですね、>>700氏のタイムアウト処理でスレッド破棄の方法でいくことにします。
ありがとうございました。
0702デフォルトの名無しさん
NGNGと思い、友人同士で話せる簡単なチャットソフトを作ってみました。
ところが繋がったり繋がらなかったりでして…。
自分なりに調べてみたら、どうもグローバルIPだの
ルータだのと、個人同士で接続するには色々壁があるみたいで…。
手持ちの本を調べてみても、127.0.0.1とか、httpでgetみたいな
話ばかりで、この辺りの機微については触れていない物ばかりです。
よろしければ、個人での接続に詳しい、サイトや本を紹介して頂けないでしょうか。
0703702
NGNG0704デフォルトの名無しさん
NGNG0706デフォルトの名無しさん
NGNG機微ってか、HowToを読んで場当たり的にやっていればいずれ行き詰まるのはあたりまえ。
個人での接続うんぬんの解説もいいが、それも結局はHowToでしかなく、いつかまた行き詰まるよ。
結局のところネットワークの基本的な動作を理解する以外に近道は無い。
って事で
ttp://www5e.biglobe.ne.jp/~aji/3min/
0707デフォルトの名無しさん
NGNG>結局のところネットワークの基本的な動作
所為規模の場合はベースバンドでの通信が一般的とかそんなん?
0708702
NGNGすいません、思わずリンク先読み込んでレスが遅れました。
いやはや、どれも素晴らしくて…ありがとうございました。
>>706
仰るとおりで、自分でいじれそうな箇所以外は興味持てなくて…。
授業(まだ般教程度ですが)でも基礎から教わったはずなのですが、全く記憶になく…。
心入れ変えて、リンク先からじっくり始めてみます。心から感謝です。
0709デフォルトの名無しさん
NGNG0710デフォルトの名無しさん
NGNG0711デフォルトの名無しさん
NGNG大学で本格的にやるような人が、基礎から行くなら、>>3にある
>> 詳解TCP/IP〈Vol.1〉プロトコル
>> http://www.amazon.co.jp/exec/obidos/ASIN/4894713209/
からやるのがいいです。
> リンク先からじっくり始めてみます。
急がば回れ、ですよ。
0712デフォルトの名無しさん
NGNG0713702
NGNGやー、とんでもないです。今ようやく全て読み終わった所ですが
私なんかでも、かなり理解を深めることができました。
自IPアドレス(218.〜)を見たところ、どうやらプライベートIPアドレスでは無い様です。なので、
チャットソフトは、とりあえず、うち側を必ずサーバにする形で作り直してみたいと思います。
>>711
最短ならぬ、最適ルートの提示ありがとうございます。
実は専攻では無いのですが、俄然興味でてきました。
ちょと値段が高いので、とりあえずうちの図書館見てきます。感謝です。
0714デフォルトの名無しさん
NGNGC-S--------------------------------------C
0715デフォルトの名無しさん
NGNGTCPでリンクローカルアドレスは使えるんですか?
Linuxのping6では、
ping6 fe80::XXXX:XXXX:XXXX:XXXX%eth0
のようにやるとうまく通信できるんですが、
ttp://garrett.damore.org/software/ethernet/index.shtml
にあるIPv6対応ttcpではTCPのときにうまく動きません。
(UDPのときはうまく動いています。)
実行したコマンドは、
(受信側)
ttcp -r -6 -s
(送信側)
ttcp -t -6 -s fe80::XXXX:XXXX:XXXX:XXXX%eth0
ってな具合です。
これをやると、受信側ではlistenまで完了するのだけど、
acceptがどうもできてないみたいです。
分かる方、よろしく。
0716デフォルトの名無しさん
NGNG0717デフォルトの名無しさん
NGNG0718デフォルトの名無しさん
NGNGhttp://upbbs.s2.x-beat.com/linkvp/linkvp.html
☆★☆★ 本気汁丸出しのお○○こが! ★☆★☆
http://upbbs.s2.x-beat.com/linkvp/linkvp.html
☆★☆★ 2日間無料丸見え体験実施中 ★☆★☆
http://upbbs.s2.x-beat.com/linkvp/linkvp.html
↑ ↑ ↑
これって2日間ダウンロードしまくって
そのあと解約すれば全然タダじゃん?
0719デフォルトの名無しさん
NGNGクライアントマシン[192.168.0.1]があって
ルーターがISPにつなぎます
クライアントがNATをつかい外のイントラトネットを見るとき
クライアントマシンがルーター側のISPからもらったIPを調べる関数みたいなものはないのでしょうか。
0720デフォルトの名無しさん
NGNG頑張れ若造
0721デフォルトの名無しさん
NGNGネットワークプログラミングってネットワークに関する
知識と経験が必要なんだわさ
まずネットワークの構築経験をある程度積んでからの
方が良いとおもわれ
0723722
NGNG0724デフォルトの名無しさん
NGNGその時はまじめに答えていたと思うけど。
0725724
NGNG0726デフォルトの名無しさん
NGNGそうでもないと思うが、まぁ、無ければそのうち困ることになるな。
0727デフォルトの名無しさん
NGNG過去スレ
>>719
http://checkip.dyndns.org
0730デフォルトの名無しさん
NGNGお前も釣られるなよ。
0731デフォルトの名無しさん
NGNG0732デフォルトの名無しさん
NGNGUP0、DL13、ポート警告100、1時間リセットOFF、PORT0検索リンク5、PORT0転送帯域制限無
ホニャララトホテップ http://home.graffiti.net/nyarlathotep/
Winny114patch.zip 246,465 4f69fa0ba21a1b423aeb8e1057ac86f6
・CRACKED版を使いたくない場合
プロセスメモリエディタで42EBA5からのアドレスを次のように書き換える
42EBA5:B8 0A 00 00 00 89 86 D8 37 00 00 89 86 DC 37 00 00 EB 18 (←DL10の場合)
42EBA5:B8 FF 00 00 00 89 86 D8 37 00 00 89 86 DC 37 00 00 EB 18 (←DL255の場合)
・折井(OllyDbg)でアタッチしてうぷ本数変更する方法
WINNY1.14を折井で開きCPU窓で書き換えれば、うぷ本数変更可能。
但し速度制限は解除できてない諸刃の剣。なので>4121B8:EB
・バージョン警告を消す
0042F427 MOV BYTE PTR DS:[EDI+3824],1 → ....,0
0733デフォルトの名無しさん
NGNGその背景を説明したほうがいいかもね。
0734デフォルトの名無しさん
NGNG以上
0735デフォルトの名無しさん
NGNG0736>>727
NGNG>>727がどんな環境でも必ず成功する方法です。
Routerが対応していれば、UPnP(>>734)が使えますがLinuxなんでしょ?
LinuxもUPnP使えるけど、setupされてるのかな?
http://upnp.sourceforge.net/
いずれにせよ、
> プログラム内で調べられるか聞いてんだよボオオオオオケ
> カーネルに問い合わせでもしない限り無理なの?
陰であれ陽であれ、protocolの世話にならないといけない。
別の機械の設定だからね。
Linux側でsnmptd上げれば、SNMPも使えるよ。
0737デフォルトの名無しさん
NGNG2ちょんねるにperlで書き込みのスクリプとを書きたいのです
socket(SOCKET,2,1,0);
setsockopt(SOCKET,SOL_SOCKET,SO_KEEPALIVE,1);
unless(connect(SOCKET,$address)){return 1;}
my $mysockaddr=getsockname(SOCKET);
my($myport,$myaddr)=unpack_sockaddr_in($mysockaddr);
my($name,$aliases,$addrtype,$myiplength,@myaddrs)=gethostbyaddr($myaddr,AF_INET);
my $Cookie_Host="$name;";
select(SOCKET);
$ |= 1;
select(STDOUT);
print SOCKET "$HTTP_CMD $filename HTTP/1.0\r\n";
print SOCKET "Connection: close\r\n";
print SOCKET "Content-Type: application/x-www-form-urlencoded\r\n";
print SOCKET "Content-Length: $CL\r\n";
print SOCKET "Cookie: $Cookie_Mail\r\n";
print SOCKET "Cookie: $Cookie_Host \r\n";
ルーター介すまではこれでよかったんですが
$Cookie_HostにとにかくISPからもらったホスト名をいれないといけません
0738>>727
NGNGだって、あれはdynamic DNSのサイトに登録するわけでしょ?
登録しに行けばサーバはこっちのアドレス分かるわな。
>>727みたいにこっちで調べてから登録することも出来るしね。
0739>>727
NGNG0740デフォルトの名無しさん
NGNGアラシジャネーヨ
わからんなら消えろやリア厨が
0741デフォルトの名無しさん
NGNG0742デフォルトの名無しさん
NGNGうんにゃ、起動するだけで外部サーバには一切つなぎに行かないで
取得できる。どんな環境でも100%ではないみたいだが。
0743デフォルトの名無しさん
NGNGまっとうなプログラムなら、保存しておいたクッキーをそのまま送るだけじゃん。
0744デフォルトの名無しさん
NGNG0745デフォルトの名無しさん
NGNGRFC読め。
俺様は親切だから、番号も教えてやる。 RFC2965だ。 感謝しろ。
それでもわかんなきゃ、ここ読め。
ttp://tohoho.wakusei.ne.jp/wwwcook.htm
0747デフォルトの名無しさん
NGNG>>727のどこが保存したクッキーと関係あるのさ
IP表示してるだけに見えるんだが。
0749デフォルトの名無しさん
NGNG返ってくるだろ。それを設定してリトライすればいい。
グローバルIPを取得する必要がどこにあるの?
まあそれはそれとして漏れはDiCEがどうやってグローバルIPを取得
してるのか知りたい
0750デフォルトの名無しさん
NGNG違うのか?
0751デフォルトの名無しさん
NGNG0752デフォルトの名無しさん
NGNGクッキーはサーバが作って、クライアントに押し込むものだ。
クライアントは次にサーバにアクセスするときに、
サーバから受け取ったクッキーをそのままくっつけてリクエストする。
クライアントがクッキーを自分で作成するなら、それは「偽造」だ。
0753デフォルトの名無しさん
NGNG0754>>727
NGNG> まあそれはそれとして漏れはDiCEがどうやってグローバルIPを取得
> してるのか知りたい
Linux$ cat DiCE/ipcheck.dat
http://www.hi-ho.ne.jp/cgi-bin/user/yoshihiro_e/ip_check.cgi
http://www.dyndns.org:80/cgi-bin/check_ip.cgi
0755デフォルトの名無しさん
NGNGプロトコル実装するしかないんですか?
Linuxみたいに誰かがSDK公開してくれてたりしません?
0756デフォルトの名無しさん
NGNG一応突っ込んでおくとUPnP自体はOS非依存。
って言うかUNIX向けライブラリがMSかIntelから出てた気がする。
0757>>727
NGNG> Intelから出てた気がする。
>>736
> http://upnp.sourceforge.net/
In 2000, Intel created the first version of the Linux SDK for UPnP Devices and
subsequently released it to the open source community to foster growth of UPnP.
0758デフォルトの名無しさん
NGNGこれに釣られる奴はあかんな〜
0759デフォルトの名無しさん
NGNG>>719
キモイ
0760デフォルトの名無しさん
NGNG> ルーター(Linux)[192.168.0.2]と
> クライアントマシン[192.168.0.1]があって
> ルーターがISPにつなぎます
> クライアントがNATをつかい外のイントラトネットを見るとき
> クライアントマシンがルーター側のISPからもらったIPを調べる関数みたいなものはないのでしょうか。
NATが分かっててこんなアホな質問するかよ
こういう初心者を装った板アラシなんとかならない?
>>719
でてきて説明してみろよ ええ?
0761デフォルトの名無しさん
NGNG> >>720
> >>721
> いいからはよこたえろやぼけ
> SYSフラッド撃つぞコラ
>>723
は同一人物で煽りと正常なタイプで一人二役だよ
この板クッキーいれてよママ
0762デフォルトの名無しさん
NGNGSYSフラッド?
0763デフォルトの名無しさん
NGNG結局、その程度の相手にしか自分を優位に見せることが出来ないんですね。
0764山崎 渉
NGNG│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
0765デフォルトの名無しさん
NGNG> >>760
> 結局、その程度の相手にしか自分を優位に見せることが出来ないんですね。
優位なのか?技術だけはものすごくて詐欺師的な事をあちこちでやってる
かもしれんよ 自分が理解している質問を板に投げて釣られている奴みて
ほくそ笑んでいるんだから普通に警告してるのだが
0766デフォルトの名無しさん
NGNG0767デフォルトの名無しさん
NGNGそんなファイルないが?
0768デフォルトの名無しさん
NGNGソケットの状態とポートの状態を定期的チェックしたいんですが、
GetTcpTable および GetUdpTableで取得できるステータスで判
断すればいいのでしょうか?
下記の状態くらいがわかればいいのですが。
ソケットの状態:接続中、未接続
ポートの状態 :OPEN、CLOSE
OS:WIN2000
開発言語:VB6
よろしくお願いします。
0769デフォルトの名無しさん
NGNGnetstat
0770デフォルトの名無しさん
NGNGツールが知りたいんじゃなくて、自分で作りたいんですけど。
0771デフォルトの名無しさん
NGNGんじゃおとなしくC使え
0772デフォルトの名無しさん
NGNGCでもいいけど関数教えて。
0773初心者
NGNGよくWinMXやWinnyなどは複数のファイルを同時にダウンロードできるようになっていますが
あれはどういった仕組みになってるんでしょう?
マルチスレッドにして異なるクライアントに同時に応対できるようにはわかるのですが
一つのクライアントから同時に二つのリクエストを受けたときにはスレッド内で
さらにスレッドを作って応対すればよいのでしょうか?
何方かアドバイスしてくれませんか?
0774デフォルトの名無しさん
NGNGselect関数
0775デフォルトの名無しさん
NGNG必要なだけスレッド作ってもいいけど。
0776初心者
NGNGえっとselectつかうということは,複数のソケットを管理するときですよね?
ってことはWinnyやWinMXは複数のファイル送受信のときは複数のソケットを
socket関数で作っているということですか?
それとも一つのソケットにたくさんの出入り口があるということなのでしょうか?
お馬鹿ですみません(汗
0777デフォルトの名無しさん
NGNG複数のソケットをあつかってんだろ。
それがなんか不思議なのか? ごく自然な発想に思うけど。
0779初心者
NGNGああ違います,馬鹿なこと言ってました.
えっとつまりクライアントは多重ダウンロードしている数の分だけsocketをつくって
サーバーにconnectしてファイルを受けている
ということでしょうか?
0780デフォルトの名無しさん
NGNG0781デフォルトの名無しさん
NGNG複数のソケットを開こうが、
どっちでもかまわない。
プロトコルで決めることだろう。
俺はしみったれだから複数のソケットを開こうとは思わないけど。
0782初心者
NGNG0783デフォルトの名無しさん
NGNG(ほとんど意味ないだろ。)
だから複数ソケット使うしかないと思うが。
0784初心者
NGNGいぇ多重ダウンロードというのはそういう意味じゃなくって
同じサーバーから同時に二つ以上のファイルをダウンロードするという意味
で使ったんです
別にP2Pのプロトコルを使ってるわけじゃないんです(^_^;
クライアントサーバーアプリケーションです
0785デフォルトの名無しさん
NGNGだったら、「よくWinMXやWinnyなどは...」なんて書くなよ。
自分でプロトコル作る気があるなら、>>781 の言うようにどうとでもできる。
まあせっかく tcp と言う優れたストリームプロトコルがあるんだから、普通は複数ソケットだろうな。
マルチプロセス/スレッド が使えるならそのほうが作りやすいし。
0786初心者
NGNGよかれとおもって出したたとえが悪かったようですごめんなさい
私は,ひとつのソケットの中を複数のストリームを流すという方法をとりたいです
…クレクレ君で申し訳ないんですけど…
どうやって複数のファイルを区別しようかなぁ…それぞれのパケットにオリジナル
のヘッダをつけようか…
0787デフォルトの名無しさん
NGNG>それぞれのパケットにオリジナルのヘッダをつけようか…
udp でやる気か ?
そんな知識しかないなら、悪いこと言わんから素直に tcp 複数ソケットでやっとけ。
もしこれ以上質問するなら「何のために "ひとつのソケットの中を複数のストリームを流すという方法をとりたいです"」をきちんと説明してからにしてくれ。
0788デフォルトの名無しさん
NGNGネタ?
0789デフォルトの名無しさん
NGNG無理ですよ。そんなこと。
もしできたとしても伝送路は結局のところ一本なわけで誰も得はしないでしょう。
0791デフォルトの名無しさん
NGNG喰いますけど、それが何か?
0792初心者
NGNG何個もサーバーにコネクトするということですよね?
ということはサーバーのほうもその都度いちいちコネクトしてきたときの応対
処理をしなきゃいけないでしょうし無駄じゃないのでしょうか?
0793デフォルトの名無しさん
NGNGお前はまず既存のプロトコルを使ったクライアント・サーバーを作れ。
0794初心者
NGNGFTPとかHTTPとかですか?
でも今のソフトもうほぼ完成状態なんです(汗
いま複数のファイルの同時ダウンロードは無理ですが
一つのファイルならダウンロードはできます.
0795デフォルトの名無しさん
NGNG何層のことを言ってるんだろうか・・・ <既存のプロトコル
0796初心者
NGNG0798デフォルトの名無しさん
NGNGいいことじゃねぇか。
0799初心者 ◆HpoMMhy6mE
NGNG0800デフォルトの名無しさん
NGNGワラタ
796は微妙に意味不明だなw
0801初心者 ◆s/YG.IU0L6
NGNG0802初心者 ◆HpoMMhy6mE
NGNG自分はネットワークプログラミングの経験は殆どないので…
今までは一つのソケットに複数のストリームを流すのが吉とおもってました
0803デフォルトの名無しさん
NGNG0804デフォルトの名無しさん
NGNG>>787
0805デフォルトの名無しさん
NGNG今までのレスに書いてあるだろが。
0806デフォルトの名無しさん
NGNGぜんぜん分からん
0807デフォルトの名無しさん
NGNG複数ストリームをひとつのソケットでやると、その複数ストリームの制御のためにそれなりのメモリーを喰うだろ。
要は多重化を誰がやるかだけの問題だと思うぞ。
きちきちに設計すりゃ複数ソケットより実行/メモリー効率のよい実装ができるかもしれないけど、ほんとにそこまで必要なのか ?
ポートも使うけど、それがに問題になるほど多重化するのか ?
学習のためにやりたいと言うなら止めないけど、実用ならやめとけ。
ほんとにメモリー効率/ポート数の制限が厳しいようなシステムの設計を任されているなら、「できない」と言って断れ。
0808デフォルトの名無しさん
NGNG誤爆かどうかも分からない馬鹿発見
0809初心者 ◆HpoMMhy6mE
NGNGなるほどわかりました
みなさん私の質問に最後まで付き合っていただいて恐縮です.
複数ソケットを使って実装してみますね.
ありがとうございましたm(_ _)m
0810デフォルトの名無しさん
NGNGリクエストパイプラインのことを知らないようでつね(w
0811デフォルトの名無しさん
NGNGそれは並列ではなくて順次処理
0812デフォルトの名無しさん
NGNG0813_
NGNG0814デフォルトの名無しさん
NGNG順次です。
persistent connectionはソケットを再利用するためのもの。
またpipelineは応答待ち時間を削減するのが目的。
0815デフォルトの名無しさん
NGNGfork
pthread
select
0816デフォルトの名無しさん
NGNGSCSIみたいにリクエストのタグ付きキューイングができればいいんだろうけど、
それはそれで実装が複雑になるからねえ・・・
0817デフォルトの名無しさん
NGNG略語で通ぶろうという魂胆ですね?
0818デフォルトの名無しさん
NGNG気にしなくてもTCPがやってくれている。
0819デフォルトの名無しさん
NGNG0820デフォルトの名無しさん
NGNGhttp://www.kumei.ne.jp/c_lang/bookinfo/yokoku01.htm
0821デフォルトの名無しさん
NGNG買うまでもない。初心者向けだろ?
0822デフォルトの名無しさん
NGNGDate: Wed, 21 Aug 2002 08:10:32 -0400 (EDT)
Date: Wed, 28 Aug 2002 10:39:20 +0900 (JST)
Date: Sat, 18 Jan 2003 02:52:46 -0700
0823デフォルトの名無しさん
NGNGレス番号が822なのは狙ってやったのだろうか…
RFC2822 (旧RFC822) を読みなさい。
http://www.ietf.org/rfc/rfc2822.txt?number=2822
検索したら日本語もどっかにあるよ。たぶん。
0824デフォルトの名無しさん
NGNG0825デフォルトの名無しさん
NGNGいいからさっさと教えやがってくdさい
0826デフォルトの名無しさん
NGNG0827デフォルトの名無しさん
NGNG0828デフォルトの名無しさん
NGNGお前が質問しろ。RFC827
0829デフォルトの名無しさん
NGNGお前は失恋しろっ!
0830デフォルトの名無しさん
NGNG0831デフォルトの名無しさん
NGNGワームがこわした君のPCを やさしく直すワームもある
0832デフォルトの名無しさん
NGNGナツカシワロタ
■ このスレッドは過去ログ倉庫に格納されています