ネットワークプログラミング相談室 Port10
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001非ブロッキング名無しさん
NGNGProgramming 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/
過去スレ:
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/tech/kako/1023/10233/1023359282.html
Port4 http://pc3.2ch.net/tech/kako/1034/10342/1034236536.html
Port5 http://pc2.2ch.net/tech/kako/1040/10402/1040220302.html
Port6 http://pc5.2ch.net/tech/kako/1052/10521/1052106444.html
Port7 http://pc5.2ch.net/test/read.cgi/tech/1063035045/
Port8 http://pc5.2ch.net/test/read.cgi/tech/1073560271/
Port9 http://pc5.2ch.net/test/read.cgi/tech/1080658835/
関連リンクは>>2-10辺り
足りなかったら適当に付け足してね
0002デフォルトの名無しさん
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/
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
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
0003デフォルトの名無しさん
NGNGRFC 日本語版リスト
http://www5d.biglobe.ne.jp/~stssk/rfcjlist.html
C10K ヘヴィーロードサーバ
http://www.kegel.com/c10k.html
JPNIC 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
IANA Well known port numbers
http://www.iana.org/assignments/port-numbers
MSDN
http://msdn.microsoft.com/library/en-us/dnsitehelp/html/tochelp.asp
ツール類
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/
0004デフォルトの名無しさん
NGNGネットワークプログラミングの基礎知識
http://X68000.q-e-d.net/~68user/net/
0005デフォルトの名無しさん
NGNGお勧めサイトにここが抜けてる
http://X68000.q-e-d.net/~68user/net/
問題ありだけど役には立つ
0006デフォルトの名無しさん
NGNG自分専用の日記帳プログラム(DB使用)をJSPで作ろうかなーと思ってるんですが、
ふと疑問に思ったのが、対応しているレンタル鯖が少ないし、他言語に比べて重い(?)のに
JSPを使うメリットって何がありますか?
JSPを選んだ理由はJSPが一番慣れてるからっていうだけで、
あんまメリットが無いならほかの言語でつくろうかなとも考えてるんですが。(候補PHP4 or 5)
お勧めの言語とかもあれば教えてください。理由も書いていただけるとありがたいです。
00076
NGNG0008デフォルトの名無しさん
NGNGそんで、一番好みのものを採用しとけ
0009デフォルトの名無しさん
NGNG0010デフォルトの名無しさん
NGNG0011デフォルトの名無しさん
NGNG0012デフォルトの名無しさん
NGNGそろそろ成果物の1つぐらいうpしてほしい頃なんだけど・・・
0013デフォルトの名無しさん
NGNG仲間を疑うことは俺が許さん。
きっとうんこの切れが悪くて手間取ってるだけだ。
0014デフォルトの名無しさん
NGNGこのスレは見ていないだろ。
0015デフォルトの名無しさん
NGNG0016デフォルトの名無しさん
NGNG0017デフォルトの名無しさん
NGNG0018デフォルトの名無しさん
NGNGんなもん使う奴はパフォーマンスを気にする奴だから
作っても無駄になる可能性大
あとOS非依存性を確保するのがかなり難しい
0019bu
NGNG受け取ることはできますか?
<FORM ACTION="upload.cgi" ENCTYPE="multipart/form-data" METHOD="POST">
<INPUT TYPE="file" NAME="File" SIZE="50"><BR>
<input type="hidden" name="testkey" value="これを取得できたらいいな">
<input type="submit" name="btnSend" value="送信">
</FORM>
STDINからCONTENT_LENGTH分読み込むと、添付ファイルだけなんすよー。
なお、毛ジュールは使ってません。できれば、使わないで取得する方法希望。
0020デフォルトの名無しさん
NGNG0021デフォルトの名無しさん
NGNG0022デフォルトの名無しさん
NGNGHTTPサーバのIPは分からない。
このURLのWeb文章には、元のドキュメントと同じサーバにある
GIFイメージが組み込まれている。
この場合、HTTP以外、どんなトランスポート層と
アプリケーション層プロトコルが必要か?
0023デフォルトの名無しさん
NGNG0024デフォルトの名無しさん
NGNGマルチは放置
0025デフォルトの名無しさん
NGNG答えられないのですね。
そうですか。
0026デフォルトの名無しさん
NGNG>>24
( ´,_‥`)どうせ分からんのだろ?
マルチポストがどうのじゃなくて。
って、俺も分からんが。
0027デフォルトの名無しさん
NGNG|
|
|
/V\ ,J
/◎;;;,;,,,,ヽ
_ ム::::(;;゚Д゚)::| ジー
ヽツ.(ノ::::::::::.:::::.:..|)
ヾソ:::::::::::::::::.:ノ
` ー U'"U'
0028デフォルトの名無しさん
NGNGはってある場合、「元のドキュメントと同じサーバ」にあるともいえるから、
ftp, https, tcp, dns, nbt, nfs, telnet, sstp, bgp4, udp ,nntp, mms, httpu, tftp
まー このくらいあったら十分なんでないかい多分。
0029デフォルトの名無しさん
NGNGマジで有難うございました。
0030デフォルトの名無しさん
NGNGPF ってのは ProtocolFamilyの略ですよね。
sockaddr とかの familyは AFでいいですよね。
socket(2) の第一引数や addrinfoの ai_familyなんかは manを見ると PFらしい
んですが、「UNIXネットワークプログラミング Vol.1」では AFを使っています。
これは単に本が古いからでしょうか。PFで統一しちゃっていいですか?
0031デフォルトの名無しさん
NGNG0032デフォルトの名無しさん
NGNGmanに従いましょう。
struct addrinfoは、protocolが特定されるんでPF_*なんです。
そこがstruct hostentと違います。
0033デフォルトの名無しさん
NGNGUNP で AF に統一されているのは、古いからというよりも著者のポリシー。
AF_xxx versus PF_xxx っていう節があるから一読しておくと良いよ。
(そもそも POSIX 仕様自体が、addrinfo を PF にも AF にも使うようになってるじゃん、とか)
統一するかどうかはポリシー次第で決めればよいと思うけど、
どうせ統一するなら AF の方が良いような気がする。
0034デフォルトの名無しさん
NGNG0035デフォルトの名無しさん
NGNG123-45-6789
と入力しても
123456789
と入力しても
12-345-6789が検索できるようにしたい!
telephone="'" + telephone + "'"
だとなぁ・・・
ldapのクエリでそれを実現するにはどうすれば?
0036デフォルトの名無しさん
NGNGみたいな?
0037デフォルトの名無しさん
NGNG( 2.5.13.21 NAME 'telephoneNumberSubstringsMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.58 )
じゃまずい?
003835
NGNGそうです
ついでに言うと、
convert(telephone,'-','') = '" + convert(telephone,'-','') + "'"
という風に、LDAPのクエリで使う関数と、それを実装する言語上での関数を使い
-を全部取っ払って比較したいです。
実装する言語上での関数は絶対に何とかなるので、問題はLDAPのクエリで使える関数ですよね
003935
NGNG実は知らないんです・・・・。
あてずっぽうでNetscapeかActiveDirectoryじゃないかと。
ホスト名、ポート、ベースDNのみローカルに公開されているLDAPサーバで、
ADSI使ってVBScriptでクエリを実行してみたら簡単な上納の検索は成功したんですよ。
ただLDAPのサーバが何を使っているかはわかりません。
004035
NGNG分割したレスですいません。
2.5.13.21 NAME 'telephoneNumberSubstringsMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.58 )
の意味がさっぱりとわかりません。むずい・・・。
RFCを見るべきなのでしょうか。
できれば分かり易く解説しているURL、なければ英語でも良いので参考になるURLを
教えていただけないでしょうか。
0041デフォルトの名無しさん
NGNGr;ァ'N;:::::::::::::,ィ/ >::::::::::ヽ
. 〃 ヽル1'´ ∠:::::::::::::::::i
i′ ___, - ,. = -一  ̄l:::::::::::::::l
. ! , -==、´r' l::::::/,ニ.ヽ
l _,, -‐''二ゝ l::::l f゙ヽ |、 ここはお前の日記帳じゃねえんだ
レー-- 、ヽヾニ-ァ,ニ;=、_ !:::l ) } ト
ヾ¨'7"ry、` ー゙='ニ,,,` }::ヽ(ノ チラシの裏にでも書いてろ
:ーゝヽ、 !´ " ̄ 'l,;;;;,,,.、 ,i:::::::ミ
::::::::::::::::ヽ.-‐ ト、 r'_{ __)`ニゝ、 ,,iリ::::::::ミ
::::::::::::::::::::Vi/l:::V'´;ッ`ニ´ー-ッ-,、:::::`"::::::::::::::;゙ , な!
:::::::::::::::::::::::::N. ゙、::::ヾ,.`二ニ´∠,,.i::::::::::::::::::::///
:::::::::::::::::::::::::::::l ヽ;:::::::::::::::::::::::::::::::::::::::::::/ /
::::::::::::::::::::::::::::::! :|.\;::::::::::::::::::::::::::::::/ /
0042デフォルトの名無しさん
NGNGなんでこんなところにガンダムキャラがw
0043デフォルトの名無しさん
NGNGttp://gaty.hp.infoseek.co.jp/oresen.html
ttp://gaty.hp.infoseek.co.jp/oresen2.html
0044デフォルトの名無しさん
NGNGhttp://gaty.hp.infoseek.co.jp/oresen2.html
0045デフォルトの名無しさん
NGNG0046デフォルトの名無しさん
NGNG0047デフォルトの名無しさん
NGNG0048デフォルトの名無しさん
NGNG鯖へメッセージ送信は自分の好きなときにできるからよいとして、
鯖からの受信処理はどうやったらいいの?
0049デフォルトの名無しさん
NGNG0050デフォルトの名無しさん
NGNG0051デフォルトの名無しさん
NGNGwhileなんかでsleepさせながらずっとまわしたりすればいいの?
0052デフォルトの名無しさん
NGNG完了時に指定した関数を呼び出すオプション使った場合
その呼び出されたオプションの引数に、WSABuffを指定したり出来ませんか?
その関数内で、受信内容を処理したいのですが・・・・
0053デフォルトの名無しさん
NGNGselect系でいいんじゃない?
telnet擬きという事だから、
入力とサーバからの出力をselectだよ。
0054デフォルトの名無しさん
NGNGコールバック出来た方が有難いのですが…
0055デフォルトの名無しさん
NGNG0056デフォルトの名無しさん
NGNGだから非同期系のAPI使うかスレッドでやれっつうの
0057デフォルトの名無しさん
NGNG.NET Framework の TcpClient なら、BeginRead 使えばイイデソ。
0058デフォルトの名無しさん
NGNG頼む!
0059デフォルトの名無しさん
NGNGFAXのプロトコルの事か?
0060デフォルトの名無しさん
NGNG0062デフォルトの名無しさん
NGNG当方ネットワークの知識があまりありません。
まず何から勉強すればよいでしょうか?
0063デフォルトの名無しさん
NGNG0064デフォルトの名無しさん
NGNG0065デフォルトの名無しさん
NGNG0066デフォルトの名無しさん
NGNGインターネット・ネットワーク全般の知識を書籍で身に着けろ。
HTTPのダウンロードにはWinInet使え。
0067デフォルトの名無しさん
NGNGsocket
0068デフォルトの名無しさん
NGNG知識が無いなら得ればいい。
HTTPのRFCも読んでおきましょう。
0069デフォルトの名無しさん
NGNGあほ
0070デフォルトの名無しさん
NGNGおいおい、66が抜けてるぞ
0071デフォルトの名無しさん
NGNG0072デフォルトの名無しさん
NGNG0073デフォルトの名無しさん
NGNG0074デフォルトの名無しさん
NGNG0075デフォルトの名無しさん
NGNGこれでオシマイ。
#include <windows.h>
#include <Urlmon.h>
int main(int argc, char* argv[])
{
URLDownloadToFile(
NULL,
argv[0],
argv[1],
0,
NULL);
return 0;
}
0076デフォルトの名無しさん
NGNG「VC++はC++と互換性はあるけど別の言語なのだ!」
というのが正しい解釈だと、漏れは最近思っている。
常用してる人って、非標準のキーワードとか好んで使うし...。
0077デフォルトの名無しさん
NGNG0078デフォルトの名無しさん
NGNGIP固定のマシン(非Win)を接続したいとき、
既にIPが使われててイーサネットに入れない、
ということを検知する方法はありますか?
0079デフォルトの名無しさん
NGNGつーかイーサには入れっぺ?
0080デフォルトの名無しさん
NGNG・別のマシンからそのIPにpingを打つ
・DHCPでMACアドレスを指定して固定IPを割り当てる
0081デフォルトの名無しさん
NGNG0082デフォルトの名無しさん
NGNG0083デフォルトの名無しさん
NGNG0084デフォルトの名無しさん
NGNGファイル交換以外がいい
0085デフォルトの名無しさん
NGNGP2Pプロキシ。
基本は多段プロキシだが
プロキシサーバーのリストをP2Pで交換。
0086デフォルトの名無しさん
NGNG0087デフォルトの名無しさん
NGNG1000ノード以上あつまれば誰でも立てられる
008887
NGNG0089デフォルトの名無しさん
NGNG0090デフォルトの名無しさん
NGNG現状結果としてはADsPathしか返ってきません
0091デフォルトの名無しさん
NGNGWSADATA wsad;
WSAStartup( 0x0101, &wsad );
gethostbyname( "name" );
inet_addr( "name" );
何が悪いのでしょうか。
0092デフォルトの名無しさん
NGNG0093デフォルトの名無しさん
NGNGデバッガで実行したときのみ例外が発生します。
普通に実行した場合には例外は発生しないようです。
環境は WinXP, VC++ です。
どこが悪いのか本当に全く分かりません。
どなたか宜しくお願いします。
<ソースコード>
#include <windows.h>
#include <stdio.h>
int main( void )
{
WSADATA wsad;
int result = WSAStartup( 0x0101, &wsad );
printf( "%04x, %04x, %04x\n", result, wsad.wVersion, wsad.wHighVersion );
gethostbyname( "name" ); // Access Violation
return 0;
}
<出力結果>
0000, 0101 0202
0094デフォルトの名無しさん
NGNG0095デフォルトの名無しさん
NGNGこのページに書かれている Example Code も、やはり同じように Access Violation を起こすようです。
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winsock/winsock/gethostbyname_2.asp
0096デフォルトの名無しさん
NGNGSP6あてて新規プロジェクトでやっても駄目なら環境が腐ってる
0097デフォルトの名無しさん
NGNGhostsファイルがおかしいとwsock32.dllだかで落ちるとかどっかで
見たような。
0098デフォルトの名無しさん
NGNG前スレ
0099デフォルトの名無しさん
NGNGFrom: [664] デフォルトの名無しさん <>
Date: 04/06/15 21:18
プログラムと直接関係なくてすまないんだが、Windows XP の hosts ファイルに
ホスト名の重複した 3 つのエントリ (上下 2 つは同一の IP アドレス) を記述
した場合、そのホスト名へのアクセスでブラウザやら ping やらが以上終了する
見たいなんだけど、もまいらのマシンもそう?
192.168.1.1 aaa
192.168.1.2 aaa
192.168.1.1 aaa
上記の順で書いた時 ping aaa や http://aaa/ へのアクセスでプロセスが異常
終了するみたい。まぁそもそも同一ホスト名に別アドレス割り当てる事自体
イレギュラーなんだけどね。http://support.microsoft.com/default.aspx?scid=kb;ja;177075
動作は未定義って事なんだろうけど、プロセス異常終了とは…
From: [672] デフォルトの名無しさん <sage>
Date: 04/06/16 11:59
>>664
winsock が msvcrt の wcslen に NULL 渡して落ちてるね・・・
お粗末だなー
0100デフォルトの名無しさん
NGNG仕様だよ…
0101デフォルトの名無しさん
NGNG0102デフォルトの名無しさん
NGNG自分と接続先のIPアドレスとポート番号を取得するにはどうすればいいのでしょうか?
0103デフォルトの名無しさん
NGNGいや、最新のスパイウェアの中には hosts ファイルを勝手に書き換えるものもある、
って前スレに出てたぞ(w
もうちょっと真面目な話だと、SSL-VPN製品の中にはアプリケーションからのトンネリング
アクセスをシームレスにするため、 hosts ファイルを書き換えるものもあるらしい。
0104デフォルトの名無しさん
NGNGスパイウェアがDQNじゃないとでも?
0105デフォルトの名無しさん
NGNG0106デフォルトの名無しさん
NGNG0107デフォルトの名無しさん
NGNGDQNだ
0108デフォルトの名無しさん
NGNGどっかでもう答え書いたぞ。mfcスレだったかな…
なんか気分悪いな。もうmfc使う奴は相手しないことにする。
0109デフォルトの名無しさん
NGNGぐぐってみても国内には皆無だし、
海外でもスパイウェア(?)系のサイトばっかり引っかかってなんだかさっぱりです。
0110デフォルトの名無しさん
NGNG0111デフォルトの名無しさん
NGNG受信したものを丸々ファイルに書き込むとヘッダも入ってしまうので
0112デフォルトの名無しさん
NGNG空行
ボディ
0113デフォルトの名無しさん
NGNG0114デフォルトの名無しさん
NGNG有難う御座います。
0115デフォルトの名無しさん
NGNG0116デフォルトの名無しさん
NGNG0117デフォルトの名無しさん
NGNGどちらかがファイアーウォールの外に居なければTCP接続が出来ず、
送受信ができません。
例えばKazaa技術を使った今流行のP2P電話「Skype」はポート空けなどの
作業を一切しなくても、インストール後即座にP2P電話機能が使えます。
これはどのような技術を使っているのでしょうか。ファイアーウォールの
内側どうしから、ファイルを送受信するということは可能なのでしょうか?
参考になるような情報がありましたら教えて頂ければと思います。
0118デフォルトの名無しさん
NGNGWinXP + VCでネットワーク送受信量を取得するプログラムを組んでいるんですけど
自分で取得した値を他のネットワーク監視ソフトや、WinXPのネットワーク状態確認などの値と比べると微妙に違ってしまってます。
自分で組んだプログラムは以下みたいな感じです。
PMIB_IFTABLE piftable;
DWORD size;
DWORD index = 0;
GetIfTable(NULL, &size, FALSE);
piftable = (PMIB_IFTABLE)malloc(size);
GetIfTable(piftable, &size, FALSE);
//dwOutOtetsの値が他のアプリなどの値と微妙に違いが出てしまう
//取得するtableのindexは間違っていない
printf("%u\n", piftable->table[index].dwOutOctets);
free(piftable);
0120デフォルトの名無しさん
NGNG0121デフォルトの名無しさん
NGNGなるほど。グローバルIPを持つネットワークにサーバが立てられるマシンを
仲介してデータ転送を行うのですね。大変参考になりました。
仲介マシンの選別などが少し大変そうですが、さっそく開発に
取り組んでいきます。ありがとうございました。m(__
0122デフォルトの名無しさん
NGNGよくわからんけど、値の丸め方とか、サンプリングレートとかの違いでわ?
0123118
NGNG118で書いた「dwOutOctets」は「dwInOctets」の間違いでした…
でもこれが原因じゃないです。
実際のコードは正しいく「dwInOctets」してます。
>よくわからんけど、値の丸め方とか、サンプリングレートとかの違いでわ
とりあえず、バイト単位で一切丸めずに表示しても違いがでます。
しばらく送受信を行わない状態で、最新の情報を取得し続けても、やはり違いがでます。
以下取得した送受信量の値の例。
取得した値 :742069 byte
XPの状態確認の値:730697 byte
ちなみに総送信量の値も違いがでます…
まったく自分と同じ方法で取得していると思われるアプリでは
値の誤差がなく、きっちり自分と同じバイト数になってるんですが…
0124デフォルトの名無しさん
NGNG> 他のネットワーク監視ソフト
こりゃSNMP使ってんでしょ。
最新の情報取得すれば値変わるよね?
# そのインターフェース使っている場合は。
0125118
NGNGレスをありがとうございます。
>こりゃSNMP使ってんでしょ。
>最新の情報取得すれば値変わるよね?
SNMPですか… もっと厳密に情報を取得する方法があるのでしょうか?
>>123で取得した値の、11372byte差というのは何なのでしょうか?
0126デフォルトの名無しさん
NGNG0128デフォルトの名無しさん
NGNG"In"なら何もしなくても常にbroadcast packetとか受け取ってるでしょ。
完全に同じタイミングで値取得しているという風に確信しているみたいだけど、
そんなわけないでしょ。
0129118
NGNG今気付いたんですが、自分が取得した値と違うと思っていたアプリの一つは
どうやら B→KB→MBの変換時に値を切り上げていた為、自分のプログラムでの値と誤差があったようです…
自分のプログラムでも、表示桁を同じにして、値を切り上げたらまったく同じ値になりました。
でも、相変わらず、OSの状態確認での値とは誤差が生じてます…
この辺の誤差は、それぞれのプログラムからの値の取得方法の違いというより
取得タイミングのタイムラグ的な物の影響なんでしょうか?
0130デフォルトの名無しさん
NGNGhttp://www.ethereal.com/
0131デフォルトの名無しさん
NGNG「OSの状態確認」って、具体的にどういう操作ででてくるやつですか?
netstat /e で出てくるのは、IP パケットだけの統計なのでインタフェイスの
総送受信バイトとは異なってきますし、ネットワーク接続のアイコンから
「状態」で開いたウィンドウに出てくる値は、TCP/UDP しか数えていない
ような感じですが・・・
0132118
NGNGツールのリンクどうも。
しかし、パケット内部のヘッダ情報とか、ネットワーク関係の知識が乏しいもんで
まだ、このツールは使えなさそうです…
>>131
あ〜 そうですか。なるほど。
とりあえず、インタフェースごとの情報が取得できればいいので
自分の方法で問題なさそうですね。
しかし、ネットワーク関係のプログラムは難しいですね…
もっと専門書とか、それ関係の文献を読んで勉強しないといけないと思いました…
0133デフォルトの名無しさん
NGNG0134デフォルトの名無しさん
NGNGContent-Lengthの数値は「絶対に」信用できるものなのでしょうか?
0135デフォルトの名無しさん
NGNG他にも、ソフトのバグとか。
0136デフォルトの名無しさん
NGNG0137デフォルトの名無しさん
NGNGそれは絶対に正しいですか?
0138デフォルトの名無しさん
NGNG0139デフォルトの名無しさん
NGNGクレタ人ハケーン
出来るかどうかというよりも、してはいけません。
信用しちゃうと糞アプリの出来上がりです。
0140デフォルトの名無しさん
NGNG0141デフォルトの名無しさん
NGNGのSecurityHoleがありました。
二ノ舞にならないよう気をつけましょう。
0142デフォルトの名無しさん
NGNG0143デフォルトの名無しさん
NGNGゴミデータ送るよ。
0144デフォルトの名無しさん
NGNGかなり恥ずかしい解釈だな。
Content-Lengthを信用しない場合でも,そういうアホ挙動には繋がらない。
0145デフォルトの名無しさん
NGNG途中で切断されたり、バグで止まるのなら全然構わないのです。
問題はContent-Lengthを過ぎても、まだボディが転送されてくる
ケースなのです。
もしそんなケースがあったら怖くて怖くて。。。。
0146デフォルトの名無しさん
NGNGまたは許容できる範囲まで受信してもいいし。
まあつまり信用しようとしまいと手抜きはいかん。
0147デフォルトの名無しさん
NGNGあるに決まってるじゃん。
そうやってバッファオーバーフローさせてroot取るのは
クラッカーのよく使う手だろ。
0148デフォルトの名無しさん
NGNG起こりうる内容がわかってるなら,とっとと対処しろ。
お前は,指くわえて見てるだけの間抜けなのか?
0149デフォルトの名無しさん
NGNG0150デフォルトの名無しさん
NGNG僕が恐れてるのは、Content-Lengthを信用して基準にすると
実ボディを取りのがす危険性があり、かと言ってデータ転送を
信用して基準にすると無駄or別データを得てしまう恐れがあると
いう事なのです。オーバーフローは簡単に対処できるのですが。。。
データ量を一バイトも違わずに正確に取得するには一体どうすれば
いいのか。。。? 皆さんはどうしてるのか、それを聞きたいのです。
0151デフォルトの名無しさん
NGNG勘
0152デフォルトの名無しさん
NGNGんと、自分はContent-Lengthつけて無かったです。
早速つけたいと思います。
よろしくお願いします。
0153デフォルトの名無しさん
NGNG回線速度に応じてローカルのHDD食いつぶすって程度の危険性なら特に対応しないな。
本気で対応するならSSLでサイトの正当性を証明すればいいんじゃないの。
0154デフォルトの名無しさん
NGNG間違ったContent-Lengthを吐く方が悪い
0155デフォルトの名無しさん
NGNG確かに「勘」かもな。ここでは「経験」と同義語としていい。
心配ならとりあえず、Content-Lengthから+αまでをOKにすると制限を
設けるとか、ボディの内容をチェックするとかだろうね。
とりあえずは、Content-Lengthをオーバーするパターンが何かを統計し
解析することだね。
そのボディが必須なら対応するべきだろうし、全部不必要なのかもしれ
ない。今の質問ではそこまでは答えられないから、経験を積んで勘が
働くようにするしかない。
0156デフォルトの名無しさん
NGNG0157デフォルトの名無しさん
NGNG>Content-Lengthから+αまでをOKにすると制限を
>設けるとか
そういう高級な判断はろくな結果にならないと思うが。
Content-Lengthを全面的に信用するか
まったく信用せずにプログレスバーの進捗表示程度にのみ使うかのどっちかだと思うよ。
0158デフォルトの名無しさん
NGNG`--ignore-length'
Unfortunately, some HTTP servers (CGI programs, to be more
precise) send out bogus `Content-Length' headers, which makes Wget
go wild, as it thinks not all the document was retrieved. You can
spot this syndrome if Wget retries getting the same document again
and again, each time claiming that the (otherwise normal)
connection has closed on the very same byte.
With this option, Wget will ignore the `Content-Length' header--as
if it never existed.
0159デフォルトの名無しさん
NGNGC++による、ゲームプログラミングなのですが升対策に暗号化を導入することにしました
公開鍵暗号方式の後、共通鍵暗号方式に移行するという、常套手段をとりたいと思っています
C++で、手軽に利用できてそれなりの強度を保てる、おすすめの暗号化ライブラリ等を教えてください
Crypto++は一応、みてみたのですが、オーバースペックな印象を受けてます
というより、あのライブラリ、リンクしたら相当でかくならないか、という理由で避けています
Nyの暗号化部分も見たのですが、RSAで大きさも手ごろ、しかし出所不明で・・
よろしくお願いします。
0161デフォルトの名無しさん
NGNG0162デフォルトの名無しさん
NGNGんなアフォな…
< Content-Lengthを一つの基準とする
という立場があるのみでしょ。
どういう基準を採用するかは、用途によるね。
例えば「越えても送ってくるようなら接続を切り、データは捨てる」とかね。
・取得したデータ
・これから取得出来るデータ
・接続
などの軸があるわけで、それぞれでどうすべきかはアプリによる。
0164デフォルトの名無しさん
NGNGopenssl使いなよ。
小さくしたいなら必要な奴だけリンクすればいいし。
0165デフォルトの名無しさん
NGNGそんな曖昧論はどうでもいいから反例を一つあげてくれ
0166159
NGNGありがとうございます
OpenSSLの名前は知っていましたが、実質的な事は何も知りませんでした・・・
ライブラリとして、かなり広く利用されてるみたいですね
しかも、Apacheライセンスってことで、手頃な感じがします
使ってみます
0167デフォルトの名無しさん
NGNGHTTPはContent-Type:の型付きだから、
データ型によってはデータ見れば終りがどこか分かるでしょ。
いくらなんでもあまり長いようなら辞めたりね。
これはContent-Length:を全面的に信頼している、
プログレスメータ程度に使っている、の「どちらでもない」よね。
言われないと分からないの?
0168デフォルトの名無しさん
NGNG0169デフォルトの名無しさん
NGNGなんかそもそもの150の要求を満たしてないし+αも統計も出てこないのね。
ま、157の反例であることは認めるよ。
0170デフォルトの名無しさん
NGNGHTMLは可能じゃん?
<HTML></HTML>がない場合はダメだけど。
0171デフォルトの名無しさん
NGNG俺155だけど155しか書いてなんで、それ以降は別の人だよ。
俺自身は特に反論ないし、質問者にヒントを与えられればそれで
いいと思ってます。
とゆーことで、俺はROMってます。
0172デフォルトの名無しさん
NGNGもし、Content-Encodingフィールドにgzipやdeflateが存在したら。。。
ああ。。。
0173デフォルトの名無しさん
NGNG0174デフォルトの名無しさん
NGNG無理やり処理を通そうとするべきじゃない。
サイズが違うと判明した時点でアボーンだろ。
0175デフォルトの名無しさん
NGNG0176159
NGNG共通鍵暗号に関しては、OpenSSLで問題なさそうです
ttp://www.02.246.ne.jp/~torutk/cxx/openssl/install.html
ソースからの構築について、詳しい解説がありました
ttp://www.gnu.org/licenses/license-list.ja.html
ライセンスに関して、GPLとは矛盾するという事らしいですが、
基本的には、Apacheライセンスのような、使用していることを明示するといった感じの使用条件になっているようです
lib/dllに含めるアルゴリズムの選択は、ちょっとわかりませんでした
いちおう、コマンドラインオプションでそれらしいのはあるんですが、
Configureで指定するのか、Make実行時に指定するのか、不明です
Configureとか、数回しか触れたことがないので、あまりいじるのは避けようと思います
ズバリ解説してるサイトが無いか、もうちょっと調べて見ることにします
0177デフォルトの名無しさん
NGNG・winsockから入ってUNIXに行く
・UNIXから入ってwinsockに行く
どっちがいいですかね?
0178デフォルトの名無しさん
NGNG最終的に何がしたいんだよ。
字面どおりの質問に答えるならはっきりいってどっちでもいい。
慣れてるプラットフォームで先に覚えろ。
0179デフォルトの名無しさん
NGNG$ ./Configure no-要らない暗号の名前1 no-要らない暗号の名前2 ...
だよ。けどそんなことは後でいいからdefaultでlibraryつくって、
client認証の方法とか、秘密鍵の置き方とか調べたら?
SSLのモデルについても学ぶ必要があるし。
$ openssl s_client -connect どこかのサーバ:https
やってみたりね。
0180デフォルトの名無しさん
NGNGOpenSSLってconfigureとかしなくてもアルゴリズム単位でディレクトリが分かれてて
個別にmake出来たような気がするけど(うろおぼえ)。
あと公開鍵暗号って共通鍵の交換だけ?
だったらRSA使わなくてもDiffie-Hellmanで十分じゃないの。
0181159
NGNGありがとうございます
Defaultでのライブラリ作成は、試行としてやりました
結果、1M程度と200kb程度のdll/libが生成されました
OpenSSHなら、ssh -l hoge servとかMeadowからよく利用するんですが、opensslは利用したことがないです
覗いてみます
>>180
ありがとございます
確かに、openssl\cryptoの方で、個別にmakeできそうな感じです
試してみます
>あと公開鍵暗号って共通鍵の交換だけ?
はい。
解説サイトを見た限り、DHでも充分そうです
RSAとDH、実際に試してみて、どちらかきめようと思います
ttp://dev.ariel-networks.com/modules/xfsection/article.php?articleid=15
ttp://www.pc-view.net/Network/030708/page2.html
0182デフォルトの名無しさん
NGNGDHはそれ単体だとMITM(中間者攻撃)に弱いんで注意すべし。
0184デフォルトの名無しさん
NGNGそれキーに暗号化して共通鍵を交換するとか。
って何のスレなんだここは。
0185デフォルトの名無しさん
NGNGopensslが、Secure Socket Layerを提供してくれることは理解してるの?
接続、暗号方式のネゴ辺りを全部やってくれるよ。
0186デフォルトの名無しさん
NGNGHTMLソースを読みこんで解釈して、次はその中に記述されてる
リソースURLにアクセスすると、200以外のコードが返ってきて
アクセスできなくなる事が、稀にあります。
しかし、プログラムを再起動して初めからいきなりその
リソースURLを読み込むと成功するのです。
下層Socketの使い回しが原因なのかと思って、一アクセスごとに
Socketを作り直し、常にConnection: closeにして、さらに試験的に
一アクセスごとに数秒待機するようにしても、HTMLソースを読み込んだ次だと
アクセスが失敗してしまうのです。プログラムを再起動して初めから
そのリソースURLを指定すると普通に読み込めるのにです。
リクエストラインとリクエストヘッダは全く同じ文章を送っています。
Referも正確に記述してますし、UserAgentを初めとする各ヘッダも
ある標準の製品ブラウザと全く同じ文章を送っています。
それなのに起動後、同ホストに1回目と2回目のアクセスでは
リソースURL成功の結果が違うのです。
どうか対処法を教えてくださいませ。
0187デフォルトの名無しさん
NGNG0188159
NGNGそうですね
念のため、最初のうちは、接続元IP+ユーザーIDとかでやろうと思います
暗号の扱い間違えて、パスが流れたりしたらアレですし
ありがとうございます
>>185
理解してません...orz
調べてみます
openssl\include\openssl\bio.h辺りでしょうか
これは・・・ 扱いが、難しそうですね・・・
ありがとうございます
0189デフォルトの名無しさん
NGNGいや読むんならapps/s_client.c, apps/s_server.c辺りからでしょ。
http://www.infoscience.co.jp/technical/openssl/docs/もね。
前半に書いてあるようなことはopensslに任せば?
0190デフォルトの名無しさん
NGNGよく出るのが302、次に503、そして404です。
0191デフォルトの名無しさん
NGNGJavaのSocketの実装は知らないけど、初回は必ず成功するっていうのなら
鯖で同時接続数の制限をしていて
前回のコネクションがまだ生きている時に失敗するのかもね。
0192デフォルトの名無しさん
NGNG503 Service Unavailable
404 Not Found
お前クッキーの扱い失敗してない?
0193デフォルトの名無しさん
NGNG0194デフォルトの名無しさん
NGNGOKとNGの時の比較をしてみた?
0195デフォルトの名無しさん
NGNG「いずれ」の意味がわからんが、エラーの前のレスポンスにもないの?
普通503は時間おいて再試行だわな。
0196デフォルトの名無しさん
NGNGレスポンスヘッダにはSet-Cookieが無いのです。
リクエストはOK時(プログラム起動後、最初のリクエスト)
とNG時は、全く同じ文字列を送っています。
レスポンスは当然違いますが。。。
0197デフォルトの名無しさん
NGNG意味はRFCで調べて。日本語版もあるよ。
0198デフォルトの名無しさん
NGNGWSASendTo()関数で
WSABUF構造体のポインタを指定して、その内容を送信する形になってるんですけど。
WSABUF構造体の中はconstになってるんで、その内容を書きかえれないんですよ。
どうやって、任意の文字列をバッファへ指定して送れるんでしょうか?
0199デフォルトの名無しさん
NGNGconstが、どこを書き換えなくしているのか読もう!
0200デフォルトの名無しさん
NGNG0201デフォルトの名無しさん
NGNGこれをRADIUSサーバに認証しにいく
RADIUSクライアントを作ろうと思ってるんですが、
Perlで作れるのでしょうか?
Perl以外でも何か参考になるサイトがあれば
教えてください。
よろしくお願いします。
0202デフォルトの名無しさん
NGNG0203デフォルトの名無しさん
NGNG0204201
NGNGレスありがとうございます。
何か参考になるサイトや書籍ご存じないですか?
ググるキーワードだけでもいいんで、ご教授願います。
ずっと探してるんですが、なかなか無くて。
お願いします。
0205デフォルトの名無しさん
NGNG0206デフォルトの名無しさん
NGNG0207デフォルトの名無しさん
NGNGちょっと光が見えてきました。
ちなみにAuthen::PAMのようなモジュールが
C言語にもありますか?
ID、パスの入力はコマンドラインから叩くものとしてですけど。
ちょっと調べてみますが、
ご存知でしたらご教授くださいませ。
よろしくお願いします。
0208デフォルトの名無しさん
NGNG0209デフォルトの名無しさん
NGNG予約されてるIPや現に今使われてるIPを知ることなんか出来ますか?
やりたいのは、機器(PCに限らない)をLANに繋ぎたいとき、
既にLAN内にIPが使用されてるかどうか調べてたいのです。
0210デフォルトの名無しさん
NGNGDHCPに割り当ててもらえばいいのに。
0211デフォルトの名無しさん
NGNG現場に空きIPを用意して貰って機器を繋いでます。
が、なかなかPCから機器を認識出来ず、設定を色々変えてる内に機器がLANに入れる、
みたいなことが起こって困ってます。
原因が分かってなくて困っているんですが、
機器をLANに繋いで少しの間寝かせるとLANに認識される、
なんて馬鹿なことないですよねぇ。
そういう場合のトラブル原因を見つけるツールでもあればなぁ...
0212デフォルトの名無しさん
NGNGお前、板違いな。
> 機器がLANに入れる(略)LANに認識される
勉強も足りない。
0213デフォルトの名無しさん
NGNG寧ろ、繋いですぐ認識される方が「バカハブ」。
0214デフォルトの名無しさん
NGNG詳しく教えて下さい。書くのが面倒ならsiteのアドレスでもお願いします。
0215デフォルトの名無しさん
NGNGならんわけ?自分で調べろ、タコ。
0216デフォルトの名無しさん
NGNGIPの範囲を指定して、どのIPが空いているかを
調べるオプションが有ると思うが。
0217デフォルトの名無しさん
NGNGnmapNTを試してますがポートスキャン出来るなら繋がってるのが機器かどうか判別できますね。
PCであればHostNameを取得するだけで事足りそうですけど。
(実は”ICMP only”とか”WINDOWS Interface enumeration:”とエラー出まくりではまってますが)
「バカハブ」の方は良く分かりません。
馬鹿ハブかと思ったらそうでなくてそういう種類なんですね。
一般的に、LANに繋げてどれくらい待てば認識されるのか、が知りたいです。
0218デフォルトの名無しさん
NGNG0220デフォルトの名無しさん
NGNGDHCP 導入してるんだったら、
1. WinXPのPCをLANにつなぐ
2. ネットワークの状態/サポート/詳細でアドレスとリースの有効期限を調べる
3. ノートPCをLANから外して、間違えて再度つながないように片付けておく
4. リースの有効期限が来るまで、存分に2で調べたアドレスを使用する
っていう方法の方が良いと思う。
プログラム書く話じゃないなら、板違いなのでもう来ないで欲しい。
0221217
NGNG説明足りませんでした。
機器の設定が、Windows PCのIE(等のブラウザ)から出来るようになっています。
が、IEに機器のアドレス入れても、機器を繋いだ直後は接続が不安定なんです。
一旦繋がってしまえば問題無いのですが。
0222デフォルトの名無しさん
NGNGプログラミングに関係ない話は放置しろよ、禿げ!
0223デフォルトの名無しさん
NGNG放置しろ!
0224217
NGNGPC側ではなくて、機器側に”ITRON+HTTPサーバ”してます。
この不安定を何とかしないといけない状況で...
0225デフォルトの名無しさん
NGNG自分の IP アドレスで ARP パケットを投げて、
誰も返事してこなかったら OK っていうのが簡単っぽいけど。
0226デフォルトの名無しさん
NGNG返事くるわけない。arp 投げるのはありかもしれないけど。
誰に投げればいいのかは知らん。
0227デフォルトの名無しさん
NGNG0228デフォルトの名無しさん
NGNG0229デフォルトの名無しさん
NGNG0230デフォルトの名無しさん
NGNG0231217
NGNG問題は機器をLANに繋いでもPC側からすぐに機器を見えないことです。
それで考え出した解決策が、
a)機器を接続前にPC側からネット内のIPが空いてることを確認しておく
b)機器を繋いでどれくらい待たせるとPCのブラウザから機器が見えるか理論値を知っておく
c)機器を繋げた後、ポートスキャン等で実態を確認してから、PCのブラウザで繋ぐ処理を行う
です。
ちょっと、違う質問ですが今日色々調べてたところ機器のhostnameが設定したPCのものとなっていました。
hostnameは固有じゃなくてもLAN(TCP/IP)やSMBで問題にならないんでしたっけ?
なんか初歩的致命的なミス設定になってんだろうか。
0232デフォルトの名無しさん
NGNGするとクライアントのPCはどうやって鯖のIPを知るんだ?
0233デフォルトの名無しさん
NGNGそしたらNETBIOSのブロードキャスト待ちだから最大10分くらいか
0234デフォルトの名無しさん
NGNG情報小出しって言っても、どこまで影響ある情報かは、その場その場の状況で変わってくる。
はじめの書き込みで全ての情報を期待するのは間違い。
まぁ、それでも明らかに情報不足だってのは放置すべきだけどな。
0235デフォルトの名無しさん
NGNG0236デフォルトの名無しさん
NGNGそれに関連する情報を出せと言うのは結構難しいのかもしれない。
見当が付くなら、それをキーワードにしてググれば解決だし・・・w
0237デフォルトの名無しさん
NGNG0238201
NGNG>>237
ワタクシのことですよね。。
すみません。
質問した時点では環境or言語問わずだったんですが、
クライアントはwindowsベースになってしまいました。
libpamというモジュールはunix環境で使われるんですよね?
引き続き調べてみます。
0239デフォルトの名無しさん
NGNGWindowsならActive Directoryでradiusを叩けるよ。
C++やC#を使いなよ。やり方はWin板でね。
0240デフォルトの名無しさん
NGNGそのITRONな機器へのIPアドレス割り当てをDHCPで動的にやれ。
# 使ってないIPアドレスを割り当てるのはまさにDHCPサーバの仕事だ。
# それを他の方法でやろうとしているのが君がタコなところ。
固定にしたければDHCPサーバの設定でやれ。(MACアドレス登録)
HTTPサーバがなかなか到達可能にならないのは、
お前の書いたコードがタコだからであって、"LAN"の問題ではない。
0241デフォルトの名無しさん
NGNG>機器をLANに繋いで少しの間寝かせるとLANに認識される、
>なんて馬鹿なことないですよねぇ。
tp://www.rtpro.yamaha.co.jp/RT/FAQ/LAN/connect-hub.html
>[ 高機能なハブを使用する場合の注意事項 ]
>・ポート接続状況の認識にしばらく時間(数10分級)がかかる事が一般的です。
>・MACアドレスのラーニングにしばらく時間がかかる場合があります。
> 5分,10分,20分の感覚で様子を見てみましょう。
0242デフォルトの名無しさん
NGNG文書古すぎ…
0243デフォルトの名無しさん
NGNG0244デフォルトの名無しさん
NGNGTCPソケットを使ったクライアント、サーバのプログラムについてです。
クライアントとサーバ間のやり取りにつかうデータの大きさはたかだか30バイトなのですが
クライアント側がこれを一度のrecvで読み出すことを仮定して作ってあります。
もしも一度で読めないと通信異常としてしまいます。
(普通は長さをヘッダなどに含めるなどして全て取れるまでrecvを繰り返しますよね?)
このつくりでテストでは問題なかったのですが、
実際どの程度の頻度で問題が発生するのでしょうか。。
運用環境はインターネットなどは介さずLANのみです。
また1分に10回送受信する程度です。
0245デフォルトの名無しさん
NGNGその作りじゃダメです。頻度の問題じゃないです。
その作りじゃダメです。頻度の問題じゃないです。
その作りじゃダメです。頻度の問題じゃないです。
TCPはバイトストリームです。
TCPはバイトストリームです。
TCPはバイトストリームです。
初心者は理解しにくい(というより抵抗がある)ところなので繰り返してみました。
0246デフォルトの名無しさん
NGNG接続〜切断までの間の全通信量が30バイトなら、
1フラグメントに納まるから、おそらく問題は出ないに1円賭ける。
0247デフォルトの名無しさん
NGNG逆にどういう環境で問題が発生するのか訊きたいかも。
0248244
NGNGやっぱりそうですよね。。
でも!それでも頻度について気になるんです。
理屈では間違いなのは分っているのですが
実際のテクニックというか、「頻度が低いからあえて無視しても問題なし」みたいな考えが主流とか?
そんなはずないですか?
0249デフォルトの名無しさん
NGNG実際のトコ、そんなヘンな実装したことも無ければ見たこともないので、
頻度等は分かりません。みんなそうなんじゃない?
理屈上は1フラグメントに納まる量の通信なら、たぶん途中のネットワークでも
OSのプロトコルスタックでも分割されること無く recv まで上がってくると思うけど
(先方の反応を待たずに複数回の send したりはしない、という仮定の下で)。
0251デフォルトの名無しさん
NGNG頻度が低ければ問題ないようなデータで、ルータ超えないLAN内なら
UDPでもいいのでは?
実際のテクニックとしては「プログラムは正しく書く」です。
0252デフォルトの名無しさん
NGNGというのを聞いたような。
実際は、よほど古い機器でない限り1500まで通すだろうし
プロトコルの都合を考えても1400程度は大丈夫な場合が殆どかと。
ただ、Win95のダイヤルアップかなんかが576ってのを聞いたような気もしないでもない。
で、複数回の交信があるなら、分割より結合の心配をした方がいいね。
これもNagleのアルゴリズムを無効にしてごまかすことも出来そうだけど。
(完全に交互に送受信するなら大丈夫かな)
0253244
NGNG>頻度等は分かりません。みんなそうなんじゃない?
そうですよね。貴重な経験ができそうです。
ちなみに私の作ったところではないので
バグと騒ぐと、実は問題が起きなかった。っていうのもあれなので黙っていよう。
皆さん、ありがとうございました。
0254デフォルトの名無しさん
NGNGそんな変な実装みんな試しにやってみたことあるんじゃない?
俺は一度も問題出たこと無かった。
1500とかそういう話じゃなくって、バッファの大きさまでは確実に読める
というか、今までは100%読めた。
仕組みは知りません。
で、逆に読めない環境ってどんなものか知りたい。
0255デフォルトの名無しさん
NGNG0256デフォルトの名無しさん
NGNGTCPはデータグラムじゃないんですから、1回のsendの内容が1パケットに
収まって、1回のrecvで受け取れると仮定するのは愚の骨頂です。
よい子は決してそんなことはしないようにね。
0257デフォルトの名無しさん
NGNGという話は聞いたことがあるが。
あとは、telnetでデバッグするとき、やや問題にある程度か。
0258デフォルトの名無しさん
NGNG一回のrecvで受信できるのかな。
0259デフォルトの名無しさん
NGNGこういう事言う人の頭の構造が知りたい。
仮定してはいけないというのが仕様なのに。
0260デフォルトの名無しさん
NGNG> バグと騒ぐと、実は問題が起きなかった。っていうのもあれなので黙っていよう。
黙るなよ。(「騒ぐ」必要もない)
他人を説得するには知識が必要だ。勉強だと思ってね。
0261デフォルトの名無しさん
NGNGそういうのも実験してみたいよね。
たぶん上限があるんだろうね。
けど、バッファが用意できないからね。
0262258
NGNG全部一度にrecv出来るなんて仮定は、俺は絶対にしないし、
そんなコード書くつもりもないから。
0263デフォルトの名無しさん
NGNGMTUをぐぐれ
それから実験の前に仕様だ。
0264デフォルトの名無しさん
NGNG0265デフォルトの名無しさん
NGNGそこで何故MTUが出てくるんですか?
0266デフォルトの名無しさん
NGNG他の人は口だけ?
0267デフォルトの名無しさん
NGNGそうだよな。
そもそも>>244は、一度のsendで送ったとも書いてないわけだし。
もうアフォかと
>>266
体動かすだけのおバカさんですか。
0268デフォルトの名無しさん
NGNG0269258
NGNGちゃんとバラバラだったよ。
0270デフォルトの名無しさん
NGNGまああれだよ、結果はここに書く必要がないよ(w
0271デフォルトの名無しさん
NGNG明らかにMTUサイズより小さいときは、一回で送れると仮定してよい。
いちいちループまわすのは愚の骨頂。
※もし、送れない環境があるなら、教えて欲しい。そんな実装みたことない。
0272デフォルトの名無しさん
NGNG馬鹿の考え休むに似たり。(イヤそれより悪い)
0273258
NGNG昔試したっていっても、ダイヤルアップの時代に
2chからdatを取ってくるプログラムのデバッグ出力を確認しただけだけどな。
「そういう仕様になっている」
「そういう環境が存在する」
それだけで充分。
「どこぞの誰様の環境では運良く動きました」
なんてのに興味はない。
0274デフォルトの名無しさん
NGNG荒らしなら出ていってくれ。
0275デフォルトの名無しさん
NGNG乏しい体験からの帰納法で設計するのは止めてくれ。
TCP/IPはちょっと常識に反するところもあるけど、
自立しステムと違って、分散システムってのはそういうもんなんだよ。
0276デフォルトの名無しさん
NGNG俺、特別な餌使ってたっけ?
0277デフォルトの名無しさん
NGNG0278デフォルトの名無しさん
NGNGというか、君はカマー本どころか、
「マスタリングTCP/IP」も読んだことないんでしょ。
0279デフォルトの名無しさん
NGNGマスタリングTCP/IPだってw
0280デフォルトの名無しさん
NGNG0281デフォルトの名無しさん
NGNG0282デフォルトの名無しさん
NGNGquotaにひっかかっちゃうよ。
0283デフォルトの名無しさん
NGNG0284デフォルトの名無しさん
NGNG何とかしていちゃもんをつけたがる人というのが
世の中には居るんですよ。
0285デフォルトの名無しさん
NGNG0286デフォルトの名無しさん
NGNG「普通」のWindowsだったらquotaで制限なんてされてないけど。
0287デフォルトの名無しさん
NGNG>>286 は Windows 以外使った事が無い
0288デフォルトの名無しさん
NGNG0289デフォルトの名無しさん
NGNGこの文脈での「ネットワーク」「マルチユーザ」「普通」の定義をしてくれ。
>>288携帯のほうが多かったね、確かに。
0290デフォルトの名無しさん
NGNG他人の携帯電話にもログインして使い放題です。
0291デフォルトの名無しさん
NGNG1. TCP/IP理解してない馬鹿が無知丸出し。
2. 無知を指摘されて逆切れ。
3. 本質に関係ないところで煽り合戦。
4. 馬鹿が粘着居座り。
0292デフォルトの名無しさん
NGNGなってきたな・・・・
0293デフォルトの名無しさん
NGNGプログラミングなんか、linux環境ですらやらないだろう?
たとえば、メモリアロケータを自作して、フラグメントを防いだ!割り当て
時間を短縮した!なんてことに喜んでも、GHz, GbytesのPCにとっては無意味。
時代錯誤も甚だしい。暇な技術者のオナニーでしかない。
ご存知のように、ネットもブロードバンドが主流になり、ブロードバンド
ルータがスループット100Mbpsを自慢する時代だ。ルータ等の処理速度も
桁違いに上がっている。
こういう時代に合った、ネットワークプログラミングのあり方を考えて
いいんじゃないだろうか?ロートルの言葉に惑わされて、1200bpsの時代の
コーディングを強要され、無駄な時間を費やしていないか?
高々数十バイトの送受信のために、「数バイトずつ送られる環境があるかも
しれないから」などという理由で、繰り返しのコードを書くことは、もしか
したら「時代錯誤の技術者オナニー」なのではないだろうか。
以前は様々な物理層やデータリンク層があったから、そういう事情を考慮
する必要があったのかもしれないが、いまやethernet, IPがほとんどだろう。
数パーセント以下の環境での利用を意識して無駄なコードで埋めるよりも、
生産性を重視したほうが、トータルでは有意義になると考える。
0294デフォルトの名無しさん
NGNG0295デフォルトの名無しさん
NGNGほとんどイディオムと化してるからさらさらと書けるし、何度も
書くのメンドウならサブルーチンにしてもいい。なんでたかが
それくらいのことでぐだぐだいってるんだか...
0296デフォルトの名無しさん
NGNG携帯電話端末がIEEE 802.3かよ
0297デフォルトの名無しさん
NGNG>よく考えてみよう。今更Pentium 60MHz, メモリ32MのPCのことを考慮した
>プログラミングなんか、linux環境ですらやらないだろう?
「組み込み」という逃げ場所が用意されている。
しかしパイは圧倒的に小さい。前途の暗い、椅子取りゲームだ。
0298デフォルトの名無しさん
NGNG0299デフォルトの名無しさん
NGNGしかも日本と欧米以外は繋がっていないとは知らなかった。
0300デフォルトの名無しさん
NGNG0301デフォルトの名無しさん
NGNG0302デフォルトの名無しさん
NGNG> 繰り返しのコードを書くことは、もしか
> したら「時代錯誤の技術者オナニー」なのではないだろうか。
下らない理由付けて、
バイトストリームであることを無視するのは、
「馬鹿な技術者オナニー」
0303デフォルトの名無しさん
NGNG「俺の書いたコードが動かない環境は考慮する価値がない」
「俺の書いたコードは俺の環境で動けば満足」
0304デフォルトの名無しさん
NGNGネットワークプログラミングというだけで、なぜ、
「狭帯域環境、低処理能力機器」への対応を
「必須」としなければならないのか
これ教えてくれ。そうじゃないと、ボウヤたちが
ヒステリックに叫ぶ理由が分からん。
0305デフォルトの名無しさん
NGNG必死さがにじみ出て笑っちゃうね。
0306デフォルトの名無しさん
NGNGつくらない。あっそう。
0307デフォルトの名無しさん
NGNG0308デフォルトの名無しさん
NGNG自分が如何に浮いてるか途中で気がついて周りにあわせたみたいだけど、
書き込み内容に賛同してくれる人が全然居ないのに
こっちは周りにあわせずがんばってるね。
悔しくて眠れないんだろうな。
0309デフォルトの名無しさん
NGNG> 「狭帯域環境、低処理能力機器」への対応を
とは限らないわけだが…
自立システムと違って、広域分散システムでは、
よっぽどの利点がない限り、前提条件を緩くしておく必要がある。
そうしないと将来技術進歩や接続可能性を妨げる可能性があるからだ。
自立→分散で頭の切り替えが必要。
0310デフォルトの名無しさん
NGNG>「数バイトずつ送られる環境があるかも
>しれないから」などという理由で、繰り返しのコードを書
かないコーディングをどういうシチュエーション
# 趣味?業務?妄想?、プロジェクトの人数は?コードレビューはやってるの?
でやってるのかってことには少し興味ある。
0311デフォルトの名無しさん
NGNG普通にあったな
ここだけの話だが対処は「放置した」w
0312デフォルトの名無しさん
NGNG0313デフォルトの名無しさん
NGNGsend()を呼んだりする(そんな奴いないか)とそうなるかも。
それと、MTUって最小値じゃなくて最大値だよね。
携帯のパケット通信は大体1パケット128バイトだし、
細かく送られて来ると思うけど。
0314デフォルトの名無しさん
NGNGいいや」というニオイを感じます。
今のターゲット環境で問題なくても、将来や別の環境でそのコードが使
われる可能性も考えるのがプロ。
0315デフォルトの名無しさん
NGNG4桁なら何でもよかった。
今はRFC 2550を読んで反省している。
0316デフォルトの名無しさん
NGNG> われる可能性も考えるのがプロ
それは >>293 のいうオナニーなのでは?
もっと論理的な説明はないのかなあ。
0317デフォルトの名無しさん
NGNG0318デフォルトの名無しさん
NGNG0319デフォルトの名無しさん
NGNG繰り返しのコードを書く必要があるとしてもたかだか一か所
ブロッキングでいいんならfdopen()してgetc()でもfgets()でもfread()
でも使えばいいじゃないか。
fread()は指定したバイト数を読むまでは粘ってくれるぞ、勝手に。
その分select()等との相性は最悪だがな。
無知が吠えてるのってホント見苦しいな。TCP_NODELAYでNagleアルゴリズム
を有効にするかどうかでもTCPの挙動は全く違うんだが、そんなことも
知らないで書いてるだろ。一から勉強し直せよ。
0320デフォルトの名無しさん
NGNG0321デフォルトの名無しさん
NGNG0322デフォルトの名無しさん
NGNGただ、俺の知る限りの実装では、fread()は必要なら何度でもread()を
呼び出してpartial readを避けようとするのが普通だ。
そうじゃないfread()を見たことがあるのなら、教えて欲しい。
0323デフォルトの名無しさん
NGNG目糞鼻糞
0324デフォルトの名無しさん
NGNGいや、違うね。叩いた泣き声で判断しているのではなく、
俺はシステムのマニュアルとソースコードで判断している。
多様な環境を考えた場合、C89やC99の記述「だけ」を信頼するのも
それはそれで問題だろう。
0325デフォルトの名無しさん
NGNGEINTRやEAGAINで途中で返ることがある。
ferror(f)が真ではあるが、返り値はエラーになるまでに読んだ数。
0326デフォルトの名無しさん
NGNG>俺の知る限りの実装では
>たことがあるのなら、教えて欲しい。
0327デフォルトの名無しさん
NGNGpartial readが発生するのはEOFに到達したかエラーが発生した場合のみ
である、とだけ書かれている。
システムコール再送等を考慮して何度もread()を呼び出す、といった
点は実装上の詳細に相当するから、普通は「仕様」には現れないんだよ。
そもそもread()がUNIXのシステムコールでしかない、からな。
ちなみにMS Windowsでは無論エミュレーションの_read()が使われているが、
fread()の仕様は同じだよ。
0328デフォルトの名無しさん
NGNGそりゃ、当たり前だな。
0329デフォルトの名無しさん
NGNG0330デフォルトの名無しさん
NGNGpartial readされるかもしれない事を年頭に置いてコードを書くの、どっちの方が建設的で低コストなんだろうか。
やっぱり「オレのところでは動いている」なんだろうね。
0331デフォルトの名無しさん
NGNGたしかに「readを何度も呼び出す」というのは実装の詳細に当たるけど、
「Partial readが起こらない事を保証する」というのは外部仕様になりうる立派な要件だ
ISOの規格書に保証されると書かれていないのなら、それは保証されていないと言う事だから
部分リードが置きうる可能性は常に付きまとうと言う事だ。
0332デフォルトの名無しさん
NGNGま、好きにすればよいさ。
以下のコードをfread()に置き換えても行入力モードで動作するんなら、
そのfread()は俺の知っているfread()じゃない、ってことだ。
int main()
{
char buff[1024];
int n;
while ((n = read(0, buff, sizeof buff)) > 0) {
write(1, buff, n);
}
return 0;
}
~
0333デフォルトの名無しさん
NGNGいや、だから何を以てpartial readと呼ぶか、だ。
システムコール割り込みというUNIX特有でしかもOSによって異なる
問題にまで踏み込めないとすれば、それは「エラー」と記述
するしかないことになる。
0334デフォルトの名無しさん
NGNG0335デフォルトの名無しさん
NGNG君、オープンソースのソースコード見たことないでしょ。
移植性に多少なりとも気を使うソフトウェアは
stdioを使うんだよ。無論fread()もね。
0336デフォルトの名無しさん
NGNGいや、だからそういうのはオナニーっしょ。
なんでそれを持ち出すかな。
0337デフォルトの名無しさん
NGNG> まあふつう
とか言っておいてそれか。ようするにあんたの周囲四畳半以外は
普通じゃないわけだな。
0338デフォルトの名無しさん
NGNG0339デフォルトの名無しさん
NGNGつまり、
・移植性に気を使う必要がない
・将来OSやNW環境が変わったら動かなくなっても良い
ような場合を想定してるってこと?
LANで通信頻度が低くて帯域も食いつぶしていなければ、UDP パケットも
まずドロップしないけど、こういう場合は 336 は UDP でパケットがドロップ
したら障害が起きるようなプログラムもアリだと思う?
0340デフォルトの名無しさん
NGNG0341デフォルトの名無しさん
NGNGおいおい俺にgrep -rをやらせる気か。
ネットワークが絡む著名なソフトで言うと、lynxもwgetもw3mもfread()は
使ってるぞ。
はっきり言って、切りがないぐらいだ。
つまり、そんだけあんたがものを知らないの。
0342デフォルトの名無しさん
NGNGUDPパケットドロップの話は、またちょっと別の話になると思う。
まあ、話を広げたいなら構わないが。
0343デフォルトの名無しさん
NGNG>・移植性に気を使う必要がない
>・将来OSやNW環境が変わったら動かなくなっても良い
なんつうか、
・やるかわからない移植
・どんなかわからない未来(何年先?OSはどうなってる?NW環境は?)
のことを、考慮しなければならないことの一つとして
(バカの一つ覚えのように)持ってくる理由はなんですか?
と言ってるんですが。
0344デフォルトの名無しさん
NGNGwget の fread はネットワークとは関係ない部分で使ってるだけですが。
ソース読んだことあるんですか?
0345デフォルトの名無しさん
NGNG「fread()なんて普通使わない」に対する反論、だぜ
0346デフォルトの名無しさん
NGNG0347デフォルトの名無しさん
NGNG矛盾はないだろ。
wgetはネットワークが絡むソフトウェアだ。
0348デフォルトの名無しさん
NGNGどんどん低レベルな話に引きずり込まれてるな。
fread()の話はもういいから、元の話に戻してくれ。
0349343
NGNG移植性やら将来への対応が大事なことである人たち、
たとえばオープンソース系のソフトウェアの開発者、
が居るというのは分かります。
ただ、それはそれなりの理由があって大事にしているのであって、
理由を鑑みずに、内輪なプラクティスを「(ネットワーク)プログラミングの常識」
みたいなものに持ち上げ、タテマツルのは勘弁してほしい。
0350デフォルトの名無しさん
NGNGカンタンで、ソケットディスクリプタをfdopen()することが
そもそも移植性のない作法だからだ。早い話、Winsockではできないからな。
そんな下らない話、いちいち説明させるなよ。大前提だろ。
0351デフォルトの名無しさん
NGNGいっとくが、read()はリピートすべきだというのは「内輪なプラクティス」
でもなんでもないぞ。
0352デフォルトの名無しさん
NGNG0353デフォルトの名無しさん
NGNG0354デフォルトの名無しさん
NGNGそれはread()の仕様からしてアタリマエなのでは?
移植性の確保だのとかいう、一部のコミュニティでしか成立しない理由で、
それを押し付けるのを勘弁してくれ、ということでは。
0355デフォルトの名無しさん
NGNG当たり前なら結構。そういう認識なら>>293みたいなアフォな発言は
出てこないのだがね。
0356デフォルトの名無しさん
NGNGその根拠は?
0357デフォルトの名無しさん
NGNG0358デフォルトの名無しさん
NGNGだーかーらー
せめて、TCP_NODELAYやtelnetについて調べてみろよ。
確かに、環境と、通信するプログラム、ネットワークのバンド幅や
通信メッセージ長etc...を完全に限定できるんなら、
別にかまわんかもしらんさ。
俺なら例えそうだとしても、「環境が多少変わっても問題ない」
プログラムを作るがね。
タカが数行の手間を惜しんで、仕様上正しくないプログラムを作ることに
何の意味がある?
0359デフォルトの名無しさん
NGNG0360デフォルトの名無しさん
NGNG言い争うべき点は何もない。仲良くしようぜ。
0361デフォルトの名無しさん
NGNG0362デフォルトの名無しさん
NGNG0363デフォルトの名無しさん
NGNG○たとえ
0364デフォルトの名無しさん
NGNG開発の困難さを見極める上で大事なことだと思うけど。
0365デフォルトの名無しさん
NGNGうーん。
これはAPIの仕様どおりにコーディングするコストが非常に低いから、としか言い様がないです。
どうせどんな環境でも長めのデータを受信するときには必須な処理なわけだし。
数行書けばよいだけなので、「一回の recv で全部読めるに違いない」なんて推測をしたり、
「ここでの最大メッセージ長はXXXバイト以下」とドキュメントを書いたりすることの方がメンドクサイ。
コードレビューもない、保守もしない、ドキュメントも書かない、APIの使い方が誤まっていて、
仕様変更等で無駄なコストが発生したり、変更漏れで障害が起きても誰に謝る必要もない、
ってなプログラムなら、好きなように書けばよいと思います。
漏れはそういう開発って少数派だと思うんだけど(←この辺で意見が合わないんだろうな・・・)。
あと信仰の問題として、機能仕様とAPIの仕様から導き出されるコードを書いて、それが問題なく
動くのであれば、「他にこうやっても動く」みたいに横道にそれるのは時間の無駄なのでやるべき
ではなかろう、というのもある。
0366デフォルトの名無しさん
NGNGコードライン43の
if (-nready <= 0)
continue;
ってなにコレ?誤植?
0367デフォルトの名無しさん
NGNG0368デフォルトの名無しさん
NGNG> 漏れはそういう開発って少数派だと思うんだけど
> (←この辺で意見が合わないんだろうな・・・)。
まさにそれが俺様意見ですね。
オープンソースだか請負仕事だか趣味だか知りませんが、
そういう仮定があることを明示してほしいものです。
俺事情の俺仮定に基づいた「内輪のプラクティス」であるにも関わらず、
一般的かつ重大なものであるかのようにふるまうアフォが多いなあ、
と思った次第です。
もちろん中には一般的なものも含まれるとは思いますが、
一般化のための演繹は慎重に行うべきでしょう。
0369デフォルトの名無しさん
NGNGそれ日本語版? Figure 6.22 のリストかな?
今手元に原書しかないけど、2nd & 3rd ed. 両方とも
if (--nready <= 0)
continue;
ってなってるよ。
0370デフォルトの名無しさん
NGNGシステムコールのmanみてもいまいちよくわかんないのよね。
0371デフォルトの名無しさん
NGNGオープンソースマンセー。
0372366
NGNGおっしゃる通り日本語版の6.22のリストです。
やっぱり誤植ですね。ありがとうございました。
kohala.comから落としたソースコードも見てみたら、
--nreadyになってます。
ところで3rd ed. って出たんですか?
0373デフォルトの名無しさん
NGNGふーん
0374デフォルトの名無しさん
NGNG2)特殊なシチュエーションに限定しないと動かないコーディングスタイルの
どっちが「俺事情の俺仮定」
だと思ってるんだか。しかも、この下らない低レベルな例に限っては
1)に従うのは容易なことなのに、な。
バカとはまさにこのことだな。
0375デフォルトの名無しさん
NGNG毎度、遅レスすみません。
radius云々言ってた者です。
ADSIってヤツですね?もう少し勉強してみます。
ありがとうございました。
0376デフォルトの名無しさん
NGNGってかすべてのデクリメントがおかしくなってない?
-nready => --nready
一瞬頭の中『???』ってなったよ読んだときは。
0377デフォルトの名無しさん
NGNG日本語版はまだじゃないかな >3rd ed.
原書でよければ今すぐ Amazon へ GO!
0378デフォルトの名無しさん
NGNG通用しなければならない、通用するべきだ、通用したほうがよい
という主張こそが「俺事情の俺仮定」だよ。
0380デフォルトの名無しさん
NGNGごまかしてるわけですね
0381デフォルトの名無しさん
NGNG0382デフォルトの名無しさん
NGNGいや、来なくていいよ。
0383デフォルトの名無しさん
NGNG自分自身の考えはどうなのか言ってほしい
0384デフォルトの名無しさん
NGNG0385デフォルトの名無しさん
NGNGほんとに全部読めるからやってみろって。
これからのスタンダードは、大きなバッファ用意して1回で読む。
これだなw
ループ回してる奴は馬鹿。
ある意味サルだなw
0386デフォルトの名無しさん
NGNG0387デフォルトの名無しさん
NGNGさ、RFC書くかなw
0388デフォルトの名無しさん
NGNG0389デフォルトの名無しさん
NGNGfdopen()するのも旬らしいぞ。
もちろんWindowsでも携帯でも。
0390デフォルトの名無しさん
NGNGほんとの話だぞ?
0391デフォルトの名無しさん
NGNG0392デフォルトの名無しさん
NGNG0393デフォルトの名無しさん
NGNGだから、これからRFC書くって言ってんだろ?
少しは応援とか出来ないのか?
お前らってそういう奴らだった?
0394デフォルトの名無しさん
NGNG実際にバッファを余らしてrecvから戻ってきたから
俺様環境の実装がどうだろうと、別にどうでもいいって。
0395デフォルトの名無しさん
NGNG嘘こくな。
恥ずかしい奴だなw
0396デフォルトの名無しさん
NGNG0397デフォルトの名無しさん
NGNGまじめな話してるときに無意味な煽りはよせ!
0398デフォルトの名無しさん
NGNGてっきりネタで遊んでるとばかり思ってた
0399デフォルトの名無しさん
NGNG最初から大真面目。
俺が寝てから盛り上がるのはよせってこった。
0400デフォルトの名無しさん
NGNGがんばってください。まずは英語の勉強をしないといけませんね。
0401デフォルトの名無しさん
NGNGお前いいやつだな!
0402デフォルトの名無しさん
NGNG公平に著者の母国語ってことにしたらどうだ?
0403デフォルトの名無しさん
NGNGどうせ誰にも読んでもらえないんだし、好きにしていいよ。
0404デフォルトの名無しさん
NGNGRFC読まないのはお前だけだよw
0405デフォルトの名無しさん
NGNG0406Followup-to: junk
NGNG無知の知と言えるかもしんない。
つか、他所で遊んで貰いなさい。
0407デフォルトの名無しさん
NGNG英語で書いてあるから嫁ねーんだろが!
アフォカ
0408デフォルトの名無しさん
NGNG0409デフォルトの名無しさん
NGNG0410デフォルトの名無しさん
NGNGお前らの相手してると、せっかくの良スレが糞スレになっちまうよ。
もう寝るw
0411デフォルトの名無しさん
NGNGお前バカだろ。あの程度の英語でファビョるなよ。
0412デフォルトの名無しさん
NGNG0413デフォルトの名無しさん
NGNG0414デフォルトの名無しさん
NGNG0415デフォルトの名無しさん
NGNG病んでるなw
病んでるなw
病んでるなw
病んでるなw
病んでるなw
病んでるなw
0416デフォルトの名無しさん
NGNG0417デフォルトの名無しさん
NGNG0418デフォルトの名無しさん
NGNGテキトーにあしらってやってくれよ。
0419デフォルトの名無しさん
NGNG0420デフォルトの名無しさん
NGNGあのページがトップに来るな
大量にリンクされてるからか
0421デフォルトの名無しさん
NGNGでも暴れてたっぽい。
時間帯も一致してる。
0422デフォルトの名無しさん
NGNG0423デフォルトの名無しさん
NGNG普通読んだことあるんじゃね−の?
隅々まで読んだことあるのは,すくないだろうけど。
ISOと違って金とらねーし,RFCサイコ−!!
とか書いてて,金出して本買うのが普通なのかと不安になる僕チン。
0424デフォルトの名無しさん
NGNGISOも一部だけど文書公開してるぞ
http://isotc.iso.ch/livelink/livelink/fetch/2000/2489/Ittf_Home/PubliclyAvailableStandards.htm
ISO/IEC 10646:2003マダー? (AAry
0425デフォルトの名無しさん
NGNG無論ユーザー側はなんら特殊な環境を持たずの状態で・・・・
それと、WinXP用にSP2出たけど、それ標準でFWがONになってるんで
これからのNAT超えがますます難しくなるような・・・
普通のユーザーにFWの設定を押し付けるシステムはあんまり良くないと思うし・・・
0426デフォルトの名無しさん
NGNG> NATを越してくれるTCPプロトコルってありませんかね?
ポートフォワーディングのこと?
0427デフォルトの名無しさん
NGNG「NATを越してくれる」というのは、
NAT内から・NAT内へ の接続、どっちの方向を指しているんだ?
0428デフォルトの名無しさん
NGNG多分、UPnPやSTUNあたりの話でしょ。
サーバークライアント型ではなく、P2P型で
0429デフォルトの名無しさん
NGNG0430デフォルトの名無しさん
NGNGTCPでそんなのがあれば良いな と
UDPだったら、いくらでもあるけどな。
つーか、TCPでも一応可能。
FTPに偽装しちまえ
0431デフォルトの名無しさん
NGNG0432デフォルトの名無しさん
NGNG0433デフォルトの名無しさん
NGNG0434デフォルトの名無しさん
NGNG0435デフォルトの名無しさん
NGNG0436デフォルトの名無しさん
NGNGそんな曖昧なもん答えられるかよ。
「このケーブル使ったファイル転送の仕方おせーて」
なんていってるのと同レベル。
0437デフォルトの名無しさん
NGNG0438デフォルトの名無しさん
NGNG0439デフォルトの名無しさん
NGNG0440デフォルトの名無しさん
NGNG0441デフォルトの名無しさん
NGNG0442デフォルトの名無しさん
NGNG糞レスするなよ
0443初心者
NGNG自分は次のようにやってます。
unsigned short tmp;
memcpy(&tmp, pRecv, sizeof(tmp));
unsigned short s = ntohs(tmp);
こんなやり方でよいのでしょうか?
もっと美しいやり方がありそうな気がして。。
0444デフォルトの名無しさん
NGNGつう話じゃなくて??
0445初心者2
NGNGその不可解なキャストはなんの意味があるんですか?
0447デフォルトの名無しさん
NGNG0448デフォルトの名無しさん
NGNG0449デフォルトの名無しさん
NGNG説明不足でスマソ
0450デフォルトの名無しさん
NGNG0451デフォルトの名無しさん
NGNG0452デフォルトの名無しさん
NGNG意味わかってない奴
0453デフォルトの名無しさん
NGNG0454デフォルトの名無しさん
NGNGunsigned short *として使うならunsigned short *で受ければいいと思うが。
0455454
NGNG0456デフォルトの名無しさん
NGNGひっこめ
0457デフォルトの名無しさん
NGNG0458デフォルトの名無しさん
NGNG寝ろ
0459デフォルトの名無しさん
NGNG0460デフォルトの名無しさん
NGNG0461デフォルトの名無しさん
NGNG0462デフォルトの名無しさん
NGNG0463デフォルトの名無しさん
NGNG0464デフォルトの名無しさん
NGNG0465デフォルトの名無しさん
NGNG0466デフォルトの名無しさん
NGNGwindows(2000,XP)では即答なんでしょうか?
それとも送信データが発生するまで少し保留してくれるのでしょうか?
だとしたら、どれぐらいの時間保留するのか教えてください。
0467デフォルトの名無しさん
NGNG0468デフォルトの名無しさん
NGNG0469466
NGNGRFCで500ms以下推奨。200msが多いって本に書いてありますた。
0470デフォルトの名無しさん
NGNG0471デフォルトの名無しさん
NGNG8k単位のデータがEthernet上で6つに分割して送信される。
0472デフォルトの名無しさん
NGNGルーターが勝手に空いてるポート割り振ってくれます?
0473デフォルトの名無しさん
NGNG0474デフォルトの名無しさん
NGNGSource addressとDistination addressと言う言葉を聞いたのですが
どのような意味なのでしょうか?
Sorceが送信元、Distinationの方が送信先のアドレスと言う事でしょうか?
>>472
むしろ指定してはいけないw
何も指定しなければ、勝手にWinsockが開いてるポート割り当ててくれる。
ルーターはUPnPでも使わない限り手動設定する必要があり。
ただし、クライアントであればルーターは特に関係ないと思われ。
0475デフォルトの名無しさん
NGNG0476デフォルトの名無しさん
NGNG検索したらありました・・・・。
http://www.google.co.jp/search?q=cache:zjEYpfCXEd4J:plaza.harmonix.ne.jp/~cpulot/Dicd.htm+%22Distination+address%22&hl=ja
Distinationで・・・w
>>475
明らかに誤字ですよね・・。
0477デフォルトの名無しさん
NGNGLPDWORD lpFlagsって、一体どういうものなのでしょうか?
一応手持ちの文献(Winsock2.0プログラミング)にも書かれてるんですが
どうも訳がおかしいのか、余計な予断だけで終わってしまっていてフラグの説明に関することがあまりきちんとかかれていません。
重複I/Oで使用する場合、通常ここには何を指定すれば良いのでしょうか?
一応本には
MSG_PEEKとMSG_OOBとMSG_PARTIALが書かれてあって
MSG_PEEKの説明の初めに非重複ソケットのみで使用できます。と書かれているのでこれ関係ないと思われます。
で、MSG_OOBはバンド外データだけを受け取るものみたいなので、これも違いますよね。
で、MSG_PARTIALなんですが、どういうフラグなのか、書かれてません。
WSARecv()の時は使用しないという事と、
関数の少量時にlpFlagsに設定される事があるが、それは指定バッファがいっぱいになったのでメッセージの一部だけを格納した事を示します。
と書かれてあり、このフラグ自体の説明になってません。(苦笑
よりしくお願いします。
0478デフォルトの名無しさん
NGNGWSARecvFromだったら、受け取るフラグなわけで、
指定しても無意味でなかったかな。
0479デフォルトの名無しさん
NGNG出来ない場合、代替の方法はありますか?
0480デフォルトの名無しさん
NGNG0481デフォルトの名無しさん
NGNG0482デフォルトの名無しさん
NGNGソウデスヨネ。少なくともTCPは全二重なんです。
ところがこんな記述が・・・
http://www.kt.rim.or.jp/~ksk/wskfaq-ja/intermediate.html#threadsafety
一方のスレッドが send() を呼び出し、別のスレッドが同一のソケットに対して
recv() を呼び出すのは安全である、という伝説があります。
しかし私はこれを確認したことはありません。
より堅固な情報やデモンストレーション用のコード、
さらなる伝説などがあれば、教えていただけると幸いです。
0483デフォルトの名無しさん
NGNG0484デフォルトの名無しさん
NGNGライブラリであるWinsockがスレッドセーフなのかどうかは
誰も知らないってことでしょ。LSPの出来にも左右されるし
0485デフォルトの名無しさん
NGNGあなたが知らないだけですよ
0486デフォルトの名無しさん
NGNGまた「俺様のところでは動いてる」厨ですか? いい加減うんざりなんですけど
0487デフォルトの名無しさん
NGNG0488デフォルトの名無しさん
NGNGたしかにあなた以外も知らない人がいるでしょうね
0489デフォルトの名無しさん
NGNGこれってものすごく重要な問題だと思うんですよ。
極端な話し、BSDスタイルが今日の一般的なアプリで使えるかどうかの瀬戸際なんですよ。
>>485さん、もし情報源が有るなら教えていただけませんか?
0490デフォルトの名無しさん
NGNG0491デフォルトの名無しさん
NGNG伝統的なやり方が通用しなくなりますよね・・・
つらいなぁ・・・
0492デフォルトの名無しさん
NGNG0493デフォルトの名無しさん
NGNGselectでブロックされるのとrecvでブロックされるのは
本質的に何が違いますか?
selectでブロック中にsendすることは安全ですか?
0494デフォルトの名無しさん
NGNG0495デフォルトの名無しさん
NGNG下位のサービスがsafeじゃないと意味なかろう
ブロッキングと非同期は全然別物だ
thread問題を回避するにも、ノンブロッキングでselectする
というのはいい解かもしれん
ちなみにSolaris2.4の頃は、safeであるといいつつsafeでなかった
(ブロッキングが解けなくなることがあったらしい)
0496デフォルトの名無しさん
NGNG面倒でも非同期の方がいいと思う。
SunOS 2系列は5.5.1までいろいろ問題があった。
SunOS 5.4(Solaris 2.4)はSunOS 4.Xの維持も終わった後で、
SunOS信頼性の谷間だったね。
0497デフォルトの名無しさん
NGNG使わない理由ないじゃん。
0498デフォルトの名無しさん
NGNG自分で作ってみたいなと思う方やネットワークプログラミングに興味のある方は
是非参加してみてください。チート対策などの質問も歓迎です。
現在、生徒が少なすぎて廃校の危機ですがお気軽にどうぞ。
みんなでMMORPGを作りましょう
http://pc5.2ch.net/test/read.cgi/gamedev/1092395334/
mmorpg製作&技術系まとめ
http://gamdev.org/w/?%5B%5BMMORPG%A4%F2%BA%EE%A4%C3%A4%C6%A4%DF%A4%BF%A4%A4%5D%5D
0499デフォルトの名無しさん
NGNGhttp://www.ops.dti.ne.jp/~allergy/socket/socket.html#event
を参考にしてチャットプログラムを作っているのですが、
標準入力から文字を取り込んで送るにはどのようにすればよいのでしょうか?
0500デフォルトの名無しさん
NGNG下位のサービスって何ですか?
0501デフォルトの名無しさん
NGNG非同期にすると構造を大幅に変えないとならないので、
きついんですが、それが一番いい方法ってことですかね。
0502デフォルトの名無しさん
NGNGjavaScriptとアプレットの連携でファイル出力するように試したんですが、
うまくいきませんでした。
0503デフォルトの名無しさん
NGNGボタンがないブラウザもある。
別の解法を探すべし。
0504デフォルトの名無しさん
NGNG>標準入力から文字を取り込んで
そんなもんネットワークとは関係ない。
0505デフォルトの名無しさん
NGNG書き方がまずかったです。
サーバへリクエスト送信時に、どのFORMタグのボタンが押下されたか、
または、どの<A HREF>タグをクリックされたかが分かるようにしたいんです。
どんなリクエストパラメータをくっ付けてURLを飛ばしたかをクライアント上に
ログ出力したいんです。
0506デフォルトの名無しさん
NGNG必要なログを出すブラウザを自作
0507デフォルトの名無しさん
NGNG0508デフォルトの名無しさん
NGNGIE上からは無理でしょうか?
また、IEプラグインで実装可能でしょうか?
>>506
他アプリを使用してのIEのオペ操作は、
場合によっては誤動作を起こすので
その際のオペレーションログが必要になるので。
0509デフォルトの名無しさん
NGNG>>506
IE上からは無理でしょうか?
また、IEプラグインで実装可能でしょうか?
>>507
他アプリを使用してのIEのオペ操作は、
場合によっては誤動作を起こすので
その際のオペレーションログが必要になるので。
0510デフォルトの名無しさん
NGNGコバンザメアプリが横からかすめとれそうな話に聞こえるんだけど気のせい?
0511デフォルトの名無しさん
NGNG0512デフォルトの名無しさん
NGNGわしもそう思った。スパイウェアの作り方を教えてくれって見える。
サーバー側からどうにかしたい(ユーザーの操作を覗きたい)、
駄目ならIEにプラグインとして実装したい(ブラウザに潜ませて収集したい)
って見える。
0513
NGNGWinSockですが
以下のように 200バイトづつ受信しています
recv(socket, pBuf, 200, 0)
送り側では一定間隔で200Byteづつ送信しています
受信側でも一定の間隔で受信されることを期待していますが
実際には 600Byteづつバッファリングして受信している
ようです
なぜ??
0514デフォルトの名無しさん
NGNG0515 513
NGNGあまりにも規則的なもんですから
TCPの仕様ですか?
0516デフォルトの名無しさん
NGNG0517 513
NGNGいや それは 一度に読めるように想定していいかの話だけど
これは読めるけど 指定したバイトが届いたら recvに
制御を戻してほしいという話です
0518 513
NGNGNagleを無効化すればいいんですね
Winsockは200 ミリ秒以下のデーターを
単独ではおくれないようです
0519デフォルトの名無しさん
NGNG届く時間に何か期待するならUDP使うしかないんでは?
0520デフォルトの名無しさん
NGNG以下のサイトで勉強しなさい。
ttp://benjamin.ddo.jp/modules/quiz/
0521デフォルトの名無しさん
NGNGよくわからんが、受信側がバッファリングしてるんじゃなくて、
送信側がバッファしてるんじゃない?
recv(socket, pBuf, 200, 0)ってやれば200バイト読めた時点で返すはずだから。
0522デフォルトの名無しさん
NGNG0523デフォルトの名無しさん
NGNG2.Nagle無効で解決だ
3.再送で破綻
となるのがオチ。
0524はじめまして
NGNG50回くらいソースを見直しましたが、どこが悪いのか全く検討もつきません。
どこが悪いのか教えて頂けないでしょうか?宜しくお願い致します。
環境は、 RH9.0, gcc version 3.2.2
尚、コンパイルは
% gcc Server.c
実行は
% ./a.out 9000
で行いました。 (port 9000 が使用中でないのは netstat で確認しました)
ソースは次へ。
0525524
NGNG#include <stdio.h>
#include <stdlib.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <string.h>
#include <unistd.h>
void die(char *errorMessage){
perror(errorMessage);
exit(1);
}
int main (int argc, char* argv[]){
int serverSock;
struct sockaddr_in serverAddr;
unsigned short port;
if( (serverSock = socket(PF_INET,SOCK_STREAM,IPPROTO_TCP) < 0 ) )
die("socket(...) failed");
port = atoi(argv[1]);
memset(&serverAddr,0,sizeof(serverAddr));
serverAddr.sin_family = AF_INET;
serverAddr.sin_addr.s_addr = htonl(INADDR_ANY);
serverAddr.sin_port = htons(port);
if( bind(serverSock, (struct sockaddr *) &serverAddr, sizeof(serverAddr)) < 0 )
die("bind(...) failed");
return 0;
}
0526デフォルトの名無しさん
NGNG0527デフォルトの名無しさん
NGNGif( (serverSock = socket(PF_INET,SOCK_STREAM,IPPROTO_TCP)) < 0 )
こーじゃねーの?
0528524
NGNG神様・・・。
ありがとうございました。
0529デフォルトの名無しさん
NGNGデバッガは何を使っていますか?
0530デフォルトの名無しさん
NGNG0531528
NGNG使ったことないです・・・。
GDBを勉強しようと思います。
Linux上でのプログラミングなのですが、GDB以外にオススメのデバッガってありますでしょうか?
宜しくお願い致します。
0532528
NGNG-Wall は付加しましたが、524の問題では全く検知できませんでした・・・。
0533デフォルトの名無しさん
NGNGLinuxじゃないんだけど、VSのデバッガってすごく便利だよ。
わかりやすいから初心者向きだと思う。
プロになってもそのまま使えるみたいだよ。
0535デフォルトの名無しさん
NGNGcommand += lexical_cast<string>(index);
int ret = sendto(sock,
command.c_str(),
sizeof(command.c_str()),
1,
(struct sockaddr *)&sv_addr,
sv_addr_len);
こんな感じで送信してみたら。
受信側で表示してみると、語尾に
フフフフフ...とか言う不気味な文字列が・・・
ちゃんと受信バッファはmemset()で0クリアしてます。
どうすれば解決しますか?
0536デフォルトの名無しさん
NGNG受信側のコードを示していないあたりネタかな。
あと、c_str()にsizeofを使っても文字列の長さは得られないよ。
0537デフォルトの名無しさん
NGNGフフフフフ
このスレか前スレにフフフ問題あったよ
0538デフォルトの名無しさん
NGNG0539538
NGNG0540デフォルトの名無しさん
NGNGboost使いのくせにフフフフが判らんということ自体ありえない。
socketプログラミングに手を出しているくせにフフフフが判らんということ自体ありえない。
スレ荒らし同然の質問はヤメレ。
0541デフォルトの名無しさん
NGNG0542デフォルトの名無しさん
NGNGこれと同じ人かも
0543デフォルトの名無しさん
NGNG受信バッファはC++のstring・文字列ではないので'\0'ターミネートされていないから。
0544デフォルトの名無しさん
NGNG0545デフォルトの名無しさん
NGNGもあるでよ。
0546デフォルトの名無しさん
NGNG0547デフォルトの名無しさん
NGNG俺も以前悩んだ覚えがあるぞ。
しかもタチの悪い事にフフフの量にバラつきがあるのでググっても出てこない。
0548デフォルトの名無しさん
NGNG0549デフォルトの名無しさん
NGNG0550デフォルトの名無しさん
NGNG0551マイク ◆yrBrqfF1Ew
NGNGまあここはこれが普通か(▽
0552デフォルトの名無しさん
NGNG検索サイトランキングに フフフフフフとかあるかも
0553デフォルトの名無しさん
NGNG0554デフォルトの名無しさん
NGNG0555デフォルトの名無しさん
NGNG0556デフォルトの名無しさん
NGNG↑これ以上長いのはググれないらしい。
0557デフォルトの名無しさん
NGNGTCP/IP上のチャットを作ろうと思って、そこで使うアプリケーション独自の
プロコトルを決めたいんだけど、プロトコル決めるにあたって、
参考になるサイトとかってないかな?
特に再送とかエラー検出とかで、こういうパケット構成にするといいぞ
みたいなのを解説してるページとかあったら、教えて欲しいです
0558デフォルトの名無しさん
NGNG0559デフォルトの名無しさん
NGNGそういうネットワークプログラミングのノウハウまとめた
サイトや書籍って日本語のものはほんとに見当たらない。
既存のソース読んで試行錯誤するしかないよ。
まあプロトコルバージョンさえ仕込んでおけばなんでいいよとりあえずw
0560デフォルトの名無しさん
NGNG0561デフォルトの名無しさん
NGNGIRCのRFCを読んで参考&&反面教師
0562557
NGNGとりあえず試行錯誤してみます。
どもどもでした。
0563デフォルトの名無しさん
NGNG>再送とかエラー検出とか
とりあえず,もう少しTCPを信用したらどうだ?
0564デフォルトの名無しさん
NGNG相手のアプリがゴミ送ってきたときも考慮する必要があるし
なんだかんだでそう簡単にはいかないでしょ。最初のうちは。
0565デフォルトの名無しさん
NGNG0566デフォルトの名無しさん
NGNG0567557
NGNG絶対に、送信した順番で受信されるのですか?
ちょっとネットワークの調子が悪くなって、あるパケットが届かないけど
それ以外のパケットは全部届いてる、みたいな状況も想定すべきかなー
とか思ったんだけど、それはTCPを馬鹿にしすぎでしょうか?
0568デフォルトの名無しさん
NGNG質問するのは>>1-10あたりやTCP/IPの本を見てからでも遅くは無い。
0569デフォルトの名無しさん
NGNG0570デフォルトの名無しさん
NGNGプログラムにバグが無ければな
0571デフォルトの名無しさん
NGNG0572デフォルトの名無しさん
NGNG0573デフォルトの名無しさん
NGNG数秒間隔でMTUに収まるサイズならパケットとして投げても問題ないんだけどな。
0574デフォルトの名無しさん
NGNG0575デフォルトの名無しさん
NGNG0576デフォルトの名無しさん
NGNG0577デフォルトの名無しさん
NGNG0578デフォルトの名無しさん
NGNG全て特殊なのですね
0579デフォルトの名無しさん
NGNG0580デフォルトの名無しさん
NGNG0581デフォルトの名無しさん
NGNG0582デフォルトの名無しさん
NGNG>>134-
0583デフォルトの名無しさん
NGNGTCPでデータグラムな使い方すること
この2つは全くの別モノだろう。
だいたい,TCPでデータをパケット的に扱うことは全く問題なし。
>数秒間隔でMTUに収まるサイズなら
とかいってるのはアホ。
0584デフォルトの名無しさん
NGNG0585デフォルトの名無しさん
NGNG0586デフォルトの名無しさん
NGNG釣られてみる。
>Content-Lengthを詐称された場合、どう対処するのが正しいんでしょうか?
というふうに書く時点で
「そんな面倒なこと想定したコード書きたくない」とか
「だれかが言っていたからそれをそのままつかった」という言い訳
したいだけだろ。
絶対に誤った値が来ないという仕様で決めうちしてしまう(こんな仕様でやるのは間違ってるが)か詐称されてプログラムがあぼーんしても可って仕様にして何も考えずContent-Lengthを信じろ。
詐称して実際のデータよりも小さい値をいれたならそのまま受信して
そのデータの中身を必要があればチェックすれば良し。
実際より大きい値をいれたのなら、適当なタイムアウト値を設定して
それまでにデータがこなかったらセッション切れば良かろう。
それ以上なにがあるんだ?
0587デフォルトの名無しさん
NGNG腹いせに次のリクエストの時に、自分も
Content-Length を詐称してサーバーを困らせてやれば?
目には目を。ハニワにはハニワを。ハンムラビ法典で対処するのが吉です。
0588デフォルトの名無しさん
NGNG0589デフォルトの名無しさん
NGNGstrResponseMessage = "ぬるぽ";
byteResponse = encFilter.GetBytes(strResponseMessage);
intResponseBody = byteResponse.Length;
while(true) {
try {
intSize = socket.Send(byteResponse);
if(intResponsedBody >= intResponseBody) break;
}
catch(Exception e) {
break;
}
}
}
0590デフォルトの名無しさん
NGNGプロトコルかプロコトルかはっきりしろ!
チミの辞書は一体どうなっているんだ!!!
0591デフォルトの名無しさん
NGNG0592デフォルトの名無しさん
NGNG0593デフォルトの名無しさん
NGNG0594デフォルトの名無しさん
NGNGNATが絡むと特に。
0595デフォルトの名無しさん
NGNG0596デフォルトの名無しさん
NGNG処理する必要があるって話じゃなくて?
パケットの先頭にパケット長とか入れてよくそんなコード書いてたなぁ。
0598デフォルトの名無しさん
NGNG釣りだと思ってないんで、無知なおいらに詳細を教えてほすぃ
いや、マジでちょっと知りたかったり
0599594
NGNGMTUでググってみろ!ぼけが!
0600デフォルトの名無しさん
NGNG0601デフォルトの名無しさん
NGNG0602デフォルトの名無しさん
NGNGプ
誰が管理するんだYO!
0603デフォルトの名無しさん
NGNGソースネクストあたりがおまい向きのソフトを売ってるぞ(げらげら
0604594
NGNG0605デフォルトの名無しさん
NGNGオマエガーナジン
0606デフォルトの名無しさん
NGNGうん、本当にわからない。
後学の為に教えておくれ。
0607デフォルトの名無しさん
NGNG0608594
NGNG0609デフォルトの名無しさん
NGNG正解!
0610デフォルトの名無しさん
NGNG0611デフォルトの名無しさん
NGNGCスレにかえれ
0612デフォルトの名無しさん
NGNG0613デフォルトの名無しさん
NGNG0614デフォルトの名無しさん
NGNG0615デフォルトの名無しさん
NGNG0616デフォルトの名無しさん
NGNG0617デフォルトの名無しさん
NGNG本当だよ
0618デフォルトの名無しさん
NGNG0619デフォルトの名無しさん
NGNG0620デフォルトの名無しさん
NGNG0621デフォルトの名無しさん
NGNGtp://support.microsoft.com/default.aspx?scid=kb;JA;884942
0622デフォルトの名無しさん
NGNG全面禁止なのかと思ってた
0623612
NGNGWinPcapも考えたんですが、あれ、日本語訳されたマニュアルって無いですよね?
どこかにあれば、教えていただきたいのですが・・・
無ければ無いで、英語と格闘してみますが・・・
0624デフォルトの名無しさん
NGNG激しくカコワルイけど。
0625デフォルトの名無しさん
NGNG両方検討してみます
ありがとうございました!
0626デフォルトの名無しさん
NGNG0627デフォルトの名無しさん
NGNG基礎からわかるネットワークプログラミングでも買ってみれば?
0628デフォルトの名無しさん
NGNG余裕のある時に探して見ます
0629デフォルトの名無しさん
NGNG0630デフォルトの名無しさん
NGNG0631デフォルトの名無しさん
NGNGはっきり言って詳しく書いてある書籍はない。
0632デフォルトの名無しさん
NGNG0633デフォルトの名無しさん
NGNG0634デフォルトの名無しさん
NGNG電波状況が悪くなった状態での評価を取りたいのですが、
今はノートパソコンを外に持って行って、コードレスフォンで
室内にいる人に協力してもらっているのですが、
無線の電波状況が悪くなる=コードレスフォンの電波も悪くなる
というジレンマを抱えております。
数メートルの距離で電波状況を調整する方法はありませんでしょうか?
プログラミングとは直接関係ありませんが、どなたかご存知の方が
いらっしゃいましたらご教示お願いします。
0635デフォルトの名無しさん
NGNG0637デフォルトの名無しさん
NGNG0638デフォルトの名無しさん
NGNG0639634
NGNGすみません、デバイスとかはあまり詳しくないので
どう改造すればいいかわからないです。
できれば802.11bの電波状況を悪くして、
コードレスフォンなどを使わずに実験したいです。
0641デフォルトの名無しさん
NGNG0642634
NGNG電子レンジに入れたところ、電波強度の表示が90%から40%に落ちました。
データのレイテンシのばらつきは大きくなった気がしますが、
データは自体は問題なく届くようです。
ついでにアクセスポイントも電子レンジの中に入れるといいのでしょうか?
>>641
なんかいいアイディアのような気がします。
後日購入して試してみようと思います。
0643デフォルトの名無しさん
NGNG0645デフォルトの名無しさん
NGNG0646デフォルトの名無しさん
NGNGプログラムのメインループ内で、
ノンブロッキングで送受信するのと、WSAEventSelectなどの非同期関数を使うのとでは、
どのような違いが出るのでしょうか?
どちらもメインループ内で他の作業が出来るという点では同じように感じられるのですが、
メリット・デメリットを踏まえて教えていただきたいです。
0647デフォルトの名無しさん
NGNG0648デフォルトの名無しさん
NGNGCPUはH8,M16Cあたりを使用することになると思います。
基本的にOSは非搭載で考えています。
通信速度よりも実装時のROM/RAM容量を重視しています。
ROM64K/RAM4K以内で実装できれば理想的です。
出来ればフルソース付でOS非依存、量産ライセンス無しっていうのが理想です。
時間的制約もあり量産商品への組み込みのためある程度の信頼性も確保
しなければなりません。
商品はあちこちから発売されているのですが、この種の商品は実際使ってみないと
わからない部分が多いので、みなさんのお知恵を貸してください。
BSDやToppersなどの流用や自作については別途検討していますので今回は
除外させてください。
特に使用した商品の組み込み安さ、安定性と導入費用、ROM/RAM使用量、
組み込みにかかった期間などを教えていただけると嬉しいです。
0649デフォルトの名無しさん
NGNGttp://akizukidenshi.com/catalog/items2.php?q=TCP&s=score&p=1&r=1&page=#K-00168
他にも探せばあるだろうけど。
0650デフォルトの名無しさん
NGNGココよりは電気・電子板のほうがよさそうじゃない?
0651デフォルトの名無しさん
NGNG0652デフォルトの名無しさん
NGNG>649
今回の場合、物理層はEatherチップではなく電話回線なのです。
そのため実際にはPPPも実装してシリアル経由で通信を行います。
実はリンク先のボードは自分の学習用に持っていますが、ライセンスなどの
関係で量産製品のファームとして使用するのは問題が出てくるのではないかと
思います。
>650
そうですか。どうもしっくりくるスレッドが無かったのでココに書かせて
もらいました。電気、電子板だとハード側の話になってしまうようなので。
TCP/IPプロトコルスタックのソフトウェア部分の話なので、ココの方が
いいかと思ったんですが。
ここってSocketプログラミングの話用なんですね。
スレ違いっぽくてすいません。
他の組み込み向けネットワークの話題を扱ってるスレを探したいと思います。
ありがとうございました。
0653デフォルトの名無しさん
NGNG環境等は先に書けや・・・
0654デフォルトの名無しさん
NGNG一般的にSOCKETを非ブロッキングモードにして、
whileなどでポーリングするのは良くないといわれていますよね。
ですが現在作成しているものはゲームで、基本的に永久ループしているものなので、
それなら非ブロッキングモードにしてrecvもありかなと思ったのですが…。
率直な感想として
「いや、それでも非ブロッキングモードは避けるべきだ」とかありますでしょうか?
0655デフォルトの名無しさん
NGNG> それなら非ブロッキングモードにしてrecvもありかなと思ったのですが…。
前半と後半の関連性が不明。
0656デフォルトの名無しさん
NGNGお返事ありがとうございます。
非ブロッキングでのrecvポーリングの一番の問題は、
CPUパワーをくってしまうことだと思うのです。
それならAASyncつかったり、ブロッキングしろということになりますよね。
ただ、今回は元から無限ループを行うゲームであるため
「通信のためにポーリングでCPUパワーを食う」という事態ではありません。
よって許容されうるかなと思いまして。
0657デフォルトの名無しさん
NGNG> 「通信のためにポーリングでCPUパワーを食う」という事態ではありません。
これが具体的に何を意味しているのか分からん。
0658デフォルトの名無しさん
NGNG一般的にビジーループは許容されません。
非ブロッキングはselect()/poll()とセットでどうぞ。
待機 ⇒ recv() ⇒ EWOULDBLOCK/EAGAIN ⇒ 繰り返し
#ついつい釣られちまった Σ(´�D`lll)
0659デフォルトの名無しさん
NGNG通信のため「だけ」にポーリングでCPUパワーを食うわけではない
ってことでしょ
>>656
ゲーム中の描画毎に通信処理をするプログラムなら問題ない、あなたのやりたいようにやって構わない
他のアホ共は「一般的にビジーループは許容されません。 」なんて戯言言ってないで
質問内容に合ったアドバイスをしてやれ
0660デフォルトの名無しさん
NGNG> 「いや、それでも非ブロッキングモードは避けるべきだ」とかありますでしょうか?
古いWinsockのノンブロックングは、
>>659と同じくらい馬鹿。
0661デフォルトの名無しさん
NGNGちゅーことは新しいwinsockつかえばいいんだってさ
0662デフォルトの名無しさん
NGNGお返事ありがとうございます。
曖昧な言い方でご迷惑をかけて申し訳ありませんでした。
FPS15程度で、ゲームスレッドが無限ループしております。
いわゆるWinMainから始まる大本のスレッドです。
受信に関して主に3つの方法を思いつきました。
・AASyncを使う
・ブロッキングrecv専用のスレッドをつくる
・ノンブロッキングrecvを使う
このうち、ノンブロッキングが楽かなと思ったのですが、世間一般ではノンブロッキングは嫌われています。
私はその理由が
「受信のためだけにwhileでまわしつづけるスレッドを用意する人がいるから。
ポーリングするならブロッキングしろ!CPUパワーがもったいないだろ!」
だと理解しました(間違っていたらご指摘いただけると幸いです。
ですが今回の場合、whileでまわしつづけているのには「描画とゲームを進める」という必然性があり、
そのとき一緒にノンブロッキングrecvを処理します。
それならノンブロッキングもありかなと思ったわけですが、
「いや、それでもダメだ。AASyncに比べてこういう不都合がある!」
という意見があったらご指摘していただきたいと思いここに書き込んだしだいです。
0663デフォルトの名無しさん
NGNGつまり、タイムアウト時間0のselectということでしょうか?
それならばrecvだけでいいかなと思います。
「質問者が、通信を待つだけのビジーループを作ろうとしているから、待機select使えと指摘した」
のなら誤解を招いた私のミスです。すいません。
>>660-662
なるほど。
古いWinsockというのがどれか分かりかねますが、1.1を考えております。
「1.1のノンブロッキングrecvは、こんなひどいことが!」ということがあれば、教えていただけると幸いです。
それはそれとして、私の誤解を招く表現で喧嘩を招いてしまい、申し訳ありません。
0664デフォルトの名無しさん
NGNGネットゲームはラグとの戦いだからちょっとでもラグを減らせるような工夫をすべき。
0665デフォルトの名無しさん
NGNGオセロとか将棋かもしれん。
0666デフォルトの名無しさん
NGNGそもそも何でもいいというかどうでもいい話だな。
とはいえWin3.1で十分作れるからといって
アプリをWin3.1で作るのような事に何の意味があるのか知らんけど。
0667デフォルトの名無しさん
NGNGそうではないソケットのどこに同列に語れるだけの要素があるよ。
0668デフォルトの名無しさん
NGNGそんな暇があったらもっと気の利いたレスをつけてやりなよ。
0669デフォルトの名無しさん
NGNG0670デフォルトの名無しさん
NGNG0671デフォルトの名無しさん
NGNG俺だよ俺!
実は、今うっかりしてパケット落としちゃってさ、俺TCPだから落とし
ましたじゃ済まなくて…やばいよ、どうしよう…
とりあえず、大至急このポートに50万パケット送ってくれ!
0672デフォルトの名無しさん
NGNGこのポートってどこですか?>>671で良いの?
つか、アドレスも教えてくんないと。
0673デフォルトの名無しさん
NGNGまあいないとは思うが
0674デフォルトの名無しさん
NGNGWinSock1.1を使用しています。
WinSockは、プロクシサーバーへの接続動作をサポートしているでしょうか?
それともCInternetSessionに変更した方が良いでしょうか?
よろしくお願いいたします。
0675デフォルトの名無しさん
NGNG0676デフォルトの名無しさん
NGNG過去スレ読んだら。
WinsockだけじゃなくてWindowsのversionも関係ある。
0677デフォルトの名無しさん
NGNGどういう仕組みで呼び出されるのでしょうか?
もし、メッセージポンプを経て呼び出されるのなら、OnXXX()の中では長時間の処理が
出来なくなりますが、皆さんどう対処しているのでしょう?
0678677
NGNGカレントスレッドのメッセージポンプを利用するみたいですが、あってますか?
もしかしてスレ違いでしょうか?
0679デフォルトの名無しさん
NGNGあってる
MFCライブラリの質問ならMFCスレのほうがいいと思う
0680677
NGNGありがとう。
移動して再質問します。
0681デフォルトの名無しさん
NGNG銀行に誰かが振り込んだ時、それを瞬時に知るための
プログラムって作れるでしょうか?
web上で入出金明細が表示される銀行だったら、html言語を
読み取って知らせるなんて可能でしょうか?
0682デフォルトの名無しさん
NGNG0683デフォルトの名無しさん
NGNG0684デフォルトの名無しさん
NGNG銀行側がそういう通知サービスでも提供しない限り現実的でない。
クライアント側からの監視はやめとけ。迷惑。いろんな意味で。
0685デフォルトの名無しさん
NGNG皆様アドバイスありがとうございました。
それを参考に色々自分でもがんばってみようと思います。
0687デフォルトの名無しさん
NGNG上でも出てるけど能動的に振込みの確認するのって
へたすりゃDOS攻撃と大差ないから。
どういう形態だか知らないけど
クレジットカードとプリペイド型の専用通貨とか以外は
ある程度ユーザーに不便を強いるのも仕方ないと思うけどね。
0688デフォルトの名無しさん
NGNG(最近のオンラインバンキングは違う?)
一日に一回くらいなら定期的に web にアクセスして html 解析、ってのも
まあアリだとは思うが、個人利用ならまだしも、まともな商用サイトで
やることじゃないわな。
0689デフォルトの名無しさん
NGNGファイル送受信用の関数をスレッド化せずに、FD_WRITE発見時に送れるバイト数だけおくってしまおう、という実装を行っています。
これだと、ファイルの一部をバッファに読み出す間、同時に他のファイル送受信を処理できないように思えます。
パフォーマンス自体に大した差はでないと思うのですが、Winsock入門レベルなので心配です。
素直に、スレッド化したほうがいいのでしょうか、このままでいいのでしょうか。
よろしくお願いします。
0690デフォルトの名無しさん
NGNGあれは「sendに失敗した後、sendバッファがあいたら通達されるメッセージ」だぞ。
sendに失敗するほど一杯一杯にバッファ使いつづけるのか?
0691689
NGNGありがとうございます。
いちおう、sendをまわしているループは、WSAWOULDBLOCKでループを抜ける、という感じにしています。
#ファイル送受信というか、独習用にHTTPサーバー/クライアントを書いています
0692デフォルトの名無しさん
NGNG0693689
NGNGありがとうございます。
バッファリングのことでしょうか。
てか、バッファリングすればよかったんですね.....
確かに、固まるタイミングというか、同期処理になる部分はかなり小さくなりそうですね
気づきませんでした・・・・・・
0694デフォルトの名無しさん
NGNGって自分で言ってるやん
0696デフォルトの名無しさん
NGNG0698デフォルトの名無しさん
NGNG0699デフォルトの名無しさん
NGNG0700デフォルトの名無しさん
NGNGスレッド化うんぬんとあるけれど、要はあなたのHTTPサーバが同時に複数のクライアントに対し
ファイルを転送してあげたいが、どれか一つのクライアントの面倒を見ていると
他のクライアントに応答してあげられない。どうすればいいか?
という質問?
0701デフォルトの名無しさん
NGNG0702デフォルトの名無しさん
NGNG>>691
0703デフォルトの名無しさん
NGNGはずかしいね
0704デフォルトの名無しさん
NGNG0705デフォルトの名無しさん
NGNG0706デフォルトの名無しさん
NGNGそれはお前の会話相手が大人だけだからだろう。
大人同士が真顔でコウノトリが、キャベツが、と会話してたらキモイ。
0707デフォルトの名無しさん
NGNG0708デフォルトの名無しさん
NGNG0709マイク ◆yrBrqfF1Ew
NGNG0710デフォルトの名無しさん
NGNG0711デフォルトの名無しさん
NGNG0712689
NGNGファイルの読み込みの部分をスレッド化しないと、メッセージを使ってブロックしない(という表現でいいのかはわかりません)ようにしても、その部分で固まるんじゃないかという質問です。
言い換えると、別のSoketからのFD_WRITEが、既にsendループで送信を行っている時に来た場合に、それをタイミングよく処理できるのか?という質問です。
0713デフォルトの名無しさん
NGNGじゃんじゃんsendすればすぐにでもWSAWOULDBLOCKになって
抜ける。んで、クラがそのタイミングで切り替わって、そいつの相手が出来るってつくり?
漏れが思いつくのはクラをacceptするたびにそのソケット用のスレッド一個作って、
そこでファイルを適当な単位で読み出しながら送信して、非同期未完了時は完了まで
WaitForSingleObjectとかで待って、FD_WRITEになったらまた読み出してsendする、というループにする。
終わったらclosesocketしてスレッドを抜けたらよいと思う。
このときファイルは読み出すだけだから複数スレッドから同時アクセス可能だし。
0715デフォルトの名無しさん
NGNG0716デフォルトの名無しさん
NGNGWindowsだね。Linuxだとsendfile(2)。
ベンチがたくさんあるからぐぐってね。
0717デフォルトの名無しさん
NGNGttp://www.hyuki.com/dp/cat_index.html#thread
Thread-Per-Messageパターン
Worker Threadパターン
Producer-Consumerパターン
一番単純な1スレッドで頑張るから初めて、
■ Thread-Per-Messageで並行性を高める(
■ Worker Threadでスレッド起動・停止の無駄を避ける
といったあたりを要件に応じて実装すべきでしょう。
RPC/RMIみたいにメッセージ志向のプロトコルの場合は、
Producer-ConsumerでConsumer側をマルチスレッドで
実装するとスケーラビリティの確保がしやすいかも。
それなりに複雑な実装になるけど、1〜2スレッドでProducerを
実装して、CPU数の倍程度のConsumerスレッドでリクエストの
処理を行うって形なんてのもありえるのでは?
0718689
NGNGありがとうございます。
便利そうな関数ですね。
学習中なので、一度、力技でファイル送受信を記述して、動作が理解が出来たら使うことにします。
>>717
(横からすいません)
ありがとうございます。
winsockを扱うとなるとやはり、スレッドは一通り覚えておいたほうがよさそうですね..
1スレッド版が終わったら、Producer-Consumerって形に拡張してみようと思います。
0719デフォルトの名無しさん
NGNG0720デフォルトの名無しさん
NGNG0721デフォルトの名無しさん
NGNG0722デフォルトの名無しさん
NGNGrs232c出力する機器があるんですが、
機器が無いのでそのシミュレーションをPC行いたいんです。
PCからバイナリファイルの内容をシリアル出力するフリーソフトなんかありますでしょうか。
0723デフォルトの名無しさん
NGNG0724デフォルトの名無しさん
NGNGいえ、今度が最後の質問でつ。
0725デフォルトの名無しさん
NGNGここはプログラム板だぞ?
自分で作れという言葉しかかけられないな
0726デフォルトの名無しさん
NGNGRS422 というのもあるみたいですね。
>>725
コンポーネントみつけたので動作するものは数分で自作出来そうです。
画面直し入れると結局膨大な時間になるんですが。
0727デフォルトの名無しさん
NGNG0728デフォルトの名無しさん
NGNG掲示板でつから。
ヤな人はnews-groupにでも炒ったらどうでつか。
0729デフォルトの名無しさん
NGNG726の自作自演で別人格を装ったのでつか?
0730デフォルトの名無しさん
NGNG0731デフォルトの名無しさん
NGNG相談室って書いてあるのに質問して何が悪い!
あったまきた。
0732デフォルトの名無しさん
NGNG氏ね
0733デフォルトの名無しさん
NGNG氏ね
0734デフォルトの名無しさん
NGNG0735デフォルトの名無しさん
NGNG×大本のスレッド
○大元のスレッド
0736デフォルトの名無しさん
NGNG辞書で、大本と大元を調べてみましょう。
0737デフォルトの名無しさん
NGNG本多髷(まげ)の形の大きなもの。
三省堂提供「大辞林 第二版」より
0738デフォルトの名無しさん
NGNG「大元帥明王」の略。
大辞林
0739デフォルトの名無しさん
NGNG続きはこちらへ
http://pc5.2ch.net/test/read.cgi/gamedev/1083728025/
0740デフォルトの名無しさん
NGNGほんとと迷惑だよな。
0741デフォルトの名無しさん
NGNGんなもん、ネットワークプログラミングじゃねーよ。
TeraTermの中でstdin/stdoutを読み書きするプログラム書けよ。
0742デフォルトの名無しさん
NGNG制御パケットのやり取りをする場合ってサイズどれくらいに抑えた方が
スピードが速いですか?
Winsockですが
0743デフォルトの名無しさん
NGNG0744デフォルトの名無しさん
NGNG0745デフォルトの名無しさん
NGNGcopy ファイル名 com1:
0746デフォルトの名無しさん
NGNGそのネタ秋田
0747742
NGNGちょっと言葉たらずすぎましたすいません。
通信する2点はけっこう長距離で経由するルータとかそのあたりの回線
状況とか考慮した場合に一般的に効果が一番期待できそうなサイズ
ってことです。
小さければ小さいほどいいですがそれだと通信できる情報が減ってしまうので
非効率になってしまいますよね
その辺のバランスの取れたサイズってどの辺りが一番適正なんだろうっていう
疑問です。
0748デフォルトの名無しさん
NGNG0749デフォルトの名無しさん
NGNGUDPならサイズは関係ないってことですか?
0750デフォルトの名無しさん
NGNG∩___∩ |
| ノ\ ヽ |
/ ●゛ ● | |
| ∪ ( _●_) ミ j
彡、 |∪| | UDP
/ ∩ノ ⊃ ヽ
( \ / _ノ | |
.\ “ /__| |
\ /___ /
0751デフォルトの名無しさん
NGNGなんでもLANを通るときに仮想接続というのを作ってパケットを流すが、
この仮想接続を開いたり閉じたりするのに多少のオーバーヘッドがある。
そしてUDPの場合は一つのパケットにつき、仮想接続を一回開/閉するが
TCPは一回だけだと。だから両者では差がほとんど無くなると。
0752デフォルトの名無しさん
NGNG0753デフォルトの名無しさん
NGNG構造体のデータをそのまま送受信するにはどうすればいいのでしょうか?
たとえば
struct data
{
int d1;
int d2;
int d3;
} send_data;
send_data.d1 = 10;
send_data.d2 = 20;
send_data.d3 = 30;
のような構造体データを送信するのに
send(socket,&send_data,sizeof(send_data),0);
としても正常に送信出来ないのですが・・・
0754デフォルトの名無しさん
NGNG素直に単体で送れ
0755753
NGNG単体で送るって事はつまり
send(socket,&d1,sizeof(int),0);
send(socket,&d2,sizeof(int),0);
send(socket,&d3,sizeof(int),0);
って事?
0756デフォルトの名無しさん
NGNG0757デフォルトの名無しさん
NGNG相手にすんな、お前ら。
0758デフォルトの名無しさん
NGNGどうして正常じゃないと思うのかを説明しないと
なんとも。sendシステムコールがエラー返すのか
正常終了するけど何もでないのか、送られてる
けど内容が期待したものとではないのか等々。
0759デフォルトの名無しさん
NGNG・プラットフォームで構造体のバイナリレイアウトが異なるので正しく取れない。
・プラットフォームでエンディアンが異なり、intなどのバイナリオーダーが逆転するなど起きる。
とおもう。
0760デフォルトの名無しさん
NGNG失礼。受信側のコードは下記のようにしました
bufsize = sizeof(data);
char buf[bufsize];
int D1,D2,D3;
recv(socket,buf,bufsize,0);
D1 = ((struct data*)buf)->d1;
これでD1に構造体のd1を取り出そうとしたのですが全く意味の無い数字が
入ってしまいます。
>>757
は?
0761デフォルトの名無しさん
NGNGそれって、FAQの5.1のこと?
ちょっと違うような気が。
0762デフォルトの名無しさん
NGNG0763ネットワーク系初心者
NGNGいるようなのですが、Linux/NetBSDで ping datasize 1 を試した時に tcpdump や
EtherReal等で、パケットトレース&ダンプ表示すると送信方向には46byte以下のフレームで
受信方向ではゴミデーターが後ろにひっついて 46 byte で受信してるんですが、
これはなんでか分かる人いませんか?
0764デフォルトの名無しさん
NGNGchar buf[bufsize];
ってあまり見ない書き方だね、って俺だけ?
#gccか何かの拡張書式?
0765デフォルトの名無しさん
NGNG0766デフォルトの名無しさん
NGNG0767デフォルトの名無しさん
NGNG0768742
NGNGルータでパケット分割が発生したときのオーバーヘッドとかどうなん
だろう?不達発生率とかは?
大量のデータのやり取りでも無視できる範囲なら誰かそう言って下さいな
ちなみにRealPlayerは500-600で
WMP数kだそうです
>>756
それってネットワーク部分じゃなくてCの論理エラーじゃない?
0769デフォルトの名無しさん
NGNGネタ?
それともこの板ってこんなことも訂正されないほどレベルが下がってたのか。。
0770769
NGNG単に漏れのレベルが低いだけですた。。。
0771デフォルトの名無しさん
NGNG0772デフォルトの名無しさん
NGNG送信機でパケットトレースしたんでねーの。
パケットを46バイトにする仕組みが、パケットキャプチャレイヤより
下に有れば、そういうことになるとおもうが。
0773デフォルトの名無しさん
NGNG他にも制御コードがあるみたいですが、一覧表でもあれば...
0774デフォルトの名無しさん
NGNG↑これはネタだろ。
0775デフォルトの名無しさん
NGNGttp://www.robelle.com/library/smugbook/ascii.html
こんな感じ?
ANSI Character Setとかで検索すれば見つかりそうだが
0776デフォルトの名無しさん
NGNG0777デフォルトの名無しさん
NGNG0778デフォルトの名無しさん
NGNG立ち上げ、そのサーバに他のクライアントが参加するという形のゲーム
を作成しています。
ルータを中継しているマシンはポートフォワーディングの設定をして
いないと、サーバとして立ち上げても他のクライアントからconnect
要求を受け付けないのでサーバになれません。
どうにかしてポートフォワーディングの設定をしていないマシンでも
サーバになれるようにしたいのですが、可能なのでしょうか?
通信にはwinsockを利用しています。
0779デフォルトの名無しさん
NGNG最近の NIC ではチップの方で IP Checksum 計算してくれる機能とかもあるくらいだから、
ボードによっては OS 側ではパディング位省略できるものが普通にあるんじゃない?
0780デフォルトの名無しさん
NGNG>なんでもLANを通るときに仮想接続というのを作ってパケットを流すが、
>この仮想接続を開いたり閉じたりするのに多少のオーバーヘッドがある
そーいうのは普通 WAN っていう。
んで仮想接続をキープして LAN 風にするのを VLAN とか言う。
0781デフォルトの名無しさん
NGNGDNS は 500 バイトだか 512 バイトを使ってる。真似しておくのがいいのでは?
マジメにやるなら DONT FRAGMENT ビットの立った長めのパケットをやりとりして、
その経路の MTU を調べるのが良いような気がする。
0782デフォルトの名無しさん
NGNG遅レスだけど、Windows NT 系 OS だけで動けばいいんなら、
ファイルを送信する場合に効率最大なのは IO コンプリーションポート+TransmitFile 。
カーネル空間 -> ユーザ空間 -> カーネル空間という無駄なデータコピーのオーバーヘッドもないし。
IO コンプリーションポートってのは、WinNT 系の非同期 IO 機能で、非同期で呼び出されたIOが完了すると
どこかに用意されていたスレッド(こういうのをスレッドプーリングっていいます)でおもむろに登録していた
完了処理が呼び出されるという仕掛けです。
0783デフォルトの名無しさん
NGNGUDP Hole punching!!で逝け
0784デフォルトの名無しさん
NGNGゲームサーバとしてはオススメできない気はするけどね(^^;
0785デフォルトの名無しさん
NGNGその理由は?
0786デフォルトの名無しさん
NGNG仕組み上、一対一でもいつまで記憶しているかわからないルータ等の
UDPの転送を頼らないといけないのです
多くの接続があると思われるサーバ用途となると、XXのルータでは動いたとか
動かなかったとかのレベルになってしまうわけです
またUDPでそんな多くの情報となると、よほどうまく作らないとデータの欠けや再送
も辛くなりますね
0787デフォルトの名無しさん
NGNG0788デフォルトの名無しさん
NGNG後学のために、その理由を教えてくれませんか?
0789742
NGNG500もあればたいていの制御情報は送れるからいいかな
たしかに実測で可変にするって手もありますね
組むの大変そうだけど
>>783
ゲームってことは万人に繋がらないといけないわけでしょ?
LAN内にいるPCとかはどうするの?
MACで無理やりパケット飛ばせるんだっけ?
ハッカーが使いそうな手ですねw
0790デフォルトの名無しさん
NGNG0791デフォルトの名無しさん
NGNG>仕組み上、一対一でもいつまで記憶しているかわからないルータ等の
>UDPの転送を頼らないといけないのです
がんばれ
>多くの接続があると思われるサーバ用途となると、XXのルータでは動いたとか
>動かなかったとかのレベルになってしまうわけです
仕様ということに仕様
ていうかSkype並に繋がるならまあオッケイ?みたいな感じ?みたいな
>またUDPでそんな多くの情報となると、よほどうまく作らないとデータの欠けや再送
>も辛くなりますね
TCPの真似をすればいいだけだ。超がんばれ
でもまああれだよね、こういうのに対応したライブラリなんか聞いたこと無いから
一から開発はきっと大変よね、間違いない
>>789
>ゲームってことは万人に繋がらないといけないわけでしょ?
うん
>LAN内にいるPCとかはどうするの?
うん
>MACで無理やりパケット飛ばせるんだっけ?
マカー?
>ハッカーが使いそうな手ですねw
バッカー?
0792デフォルトの名無しさん
NGNG0793デフォルトの名無しさん
NGNG0794デフォルトの名無しさん
NGNG0795デフォルトの名無しさん
NGNG0796デフォルトの名無しさん
NGNG彼らも根拠が示せないから仕方が無いよ
0797デフォルトの名無しさん
NGNG0798デフォルトの名無しさん
NGNG0799デフォルトの名無しさん
NGNGSOCK_DGRAM と発音します。
0800デフォルトの名無しさん
NGNGそれは英語で書くとどのようになりますか?
0801デフォルトの名無しさん
NGNGそけっと だいあぐらむを英語にして下さい。
0802デフォルトの名無しさん
NGNG朝からおバカな質問につきあっていただき
ありがとうございました。m(_ _)m
0803デフォルトの名無しさん
NGNG0804デフォルトの名無しさん
NGNG0805デフォルトの名無しさん
NGNG速攻ダグラム
0807デフォルトの名無しさん
NGNG>MACで無理やりパケット飛ばせるんだっけ?
ってのは、MACアドレス?
だとすると、クライアントがサーバのMACアドレスがわかり、
かつ途中の経路のARPテーブルに
そのMACアドレスが正しく登録されてたら
LAN内までパケットルーティングされる、って話?
正直ネットげーでの利用は非現実的だ。
0808789
NGNGWake Up On Lan みたいなもんかと思ってた
UDP Hole punchingちゃんと調べてみたけど
いちから作るの大変そうだね、作ったらほしいくらいですが
uPnP使ったほうが現実的な気がする
提案なんだけど、uPnPもってるのがいようがいまいが
第三者かゲームで対戦するだれかがサーバするってことにしとけば
ほぼ、つながらない環境なくなるよね
サーバが落ちた時の工夫が必要だけど
0809778
NGNG通信の仕様についてはskypeの前例もあることですし気合で
UDP Hole punchingを実装してみたいと思います。
周りの人間達は「ポートフォワーディング?uPnP?知らん。俺windows2000
だし、ゲームのためにそんなの設定するの嫌」といった人も結構いたので。
>仕組み上、一対一でもいつまで記憶しているかわからないルータ等の
一応、再送頻度が高ければなんとかなるみたいです、あるルータは60秒
以上データが来ないと記憶消去するとか。
0810デフォルトの名無しさん
NGNGがんがれ
UDP Hole Punching自体は仕組みを理解していれば簡単だ。
信頼性がほしいとなると実力次第だけど。
0811デフォルトの名無しさん
NGNG0812デフォルトの名無しさん
NGNGよくぞ言ってくれた!
実装が成功したら是非ライブラリ化してくださぁ〜い
>>811
面白い例えだね
でも手紙の裏面にちゃんと書いてあればいいってことでそ
0813デフォルトの名無しさん
NGNGそもそもそんなことできないのでしょうか?
どなたかお願いいたします。
0814デフォルトの名無しさん
NGNG0815デフォルトの名無しさん
NGNG0816デフォルトの名無しさん
NGNG0817デフォルトの名無しさん
NGNG0818デフォルトの名無しさん
NGNG0819デフォルトの名無しさん
NGNGと言うのがありまして。
この変数にきちんと値が指定されてるかどうか調べたいのですが、どうすればいいのでしょうか?
if(socka==NULL)
とかすると、'==':型'SOCKADDR_IN'の左オペラントを扱う演算子が見つかりません
と出ます。
0820デフォルトの名無しさん
NGNG0821デフォルトの名無しさん
NGNG0822デフォルトの名無しさん
NGNG無理。
先に
socka.sin_port==0;
とかやっといて、それが変わってるかどうかで判別汁
0823デフォルトの名無しさん
NGNGwinsock使う範囲でそんな判定必要になったことないけどね
0824822
NGNG0825デフォルトの名無しさん
NGNGC言語のスレにでも行って初歩から勉強してください。
0826デフォルトの名無しさん
NGNGどの質問の事?
ちと遅すぎやしないか?(苦笑
0827デフォルトの名無しさん
NGNGプログラマにとってCのコードの集合体がWinsockであって、そのブラックボックスの中はプログラマが触る事はないから…
そこまで言ってしまったら、Winsockの関数の使い方だって、Cの関数の使い方の質問になるしw
0828デフォルトの名無しさん
NGNGさっさと失せろ、知ったかぶり。
0829マイク ◆yrBrqfF1Ew
NGNG多くのネラに言えそうだな(▽
0830デフォルトの名無しさん
NGNG0831デフォルトの名無しさん
NGNG192.168.1.1
の形式のNULL文字終端の文字列として取得したいのですが
どうすればいいでしょうか?
Windows2000を使用しています。
0832デフォルトの名無しさん
NGNG0833あ
NGNGHSPで、bmpファイル等を画像専用に作成したフォルダ等に入れると
picload等で実行した時に、エラー13でファイルが読み込めないのですが
何故でしょうか。
フォルダ内にあるファイルには、特別な命令が必要なんでしょうか。
どうかご指導お願いします。
0834デフォルトの名無しさん
NGNG眼科や精神科をお勧めする
0835あ
NGNG0836デフォルトの名無しさん
NGNGC
0837デフォルトの名無しさん
NGNGHSPちょー初心者だからわからんけど
でも激しくスレ違い
0838デフォルトの名無しさん
NGNGgethostbynameでlocalhostとって
それを文字に展開すればいい
詳しくはgoogleにて
0839デフォルトの名無しさん
NGNGそこまではやっています。
hostent*
からどうやって(ry
0840デフォルトの名無しさん
NGNG0841デフォルトの名無しさん
NGNG255.255.255.255
にするんですか?
簡単だけど、よさげな関数はないの?
0842デフォルトの名無しさん
NGNG0843デフォルトの名無しさん
NGNG0844デフォルトの名無しさん
NGNGあふぉですか?
ip = (IN_ADDR *)host->h_addr_list[0];
inet_ntoa(*ip)
hostはHOSTENTね;
0845デフォルトの名無しさん
NGNGおまいこそアフォですか?
0846デフォルトの名無しさん
NGNG0847デフォルトの名無しさん
NGNG0848デフォルトの名無しさん
NGNG中身を見てから物言えよ
0849デフォルトの名無しさん
NGNGgethostnameに渡すバッファは何バイト確保するの?
0850デフォルトの名無しさん
NGNG0851デフォルトの名無しさん
NGNG0852デフォルトの名無しさん
NGNGINT_MAXバイト
0853デフォルトの名無しさん
NGNG標準クラスがないからな・・・
stl, boostより先にやることがあるだろ
0854デフォルトの名無しさん
NGNG本も出てるし
0855デフォルトの名無しさん
NGNG0856デフォルトの名無しさん
NGNG0857デフォルトの名無しさん
NGNGないからこういう話になってるんじゃないの?
0858デフォルトの名無しさん
NGNGアドレスを指定するのはマシンにIPアドレスが2つ以上割り当てられているときに、
どちらを使うかを選択するという考えでよいのでしょうか?
0859デフォルトの名無しさん
NGNGそう。だからINADDR_ANYがある。
0860デフォルトの名無しさん
NGNGなるほど。
ありがとうございます。
0861デフォルトの名無しさん
NGNGデジタル家電に何があれば踏み台にされるんでしょうか?
偉い人教えて下さいでつ
i) TCP/IPでLANに繋がれば、そく
ii) Webブラウザ搭載
iii) 外部ウェブブラウザで機器の設定が出来る機器(Webサーバーか)
iv) Proxy Server機能がある場合のみ
0862デフォルトの名無しさん
NGNG踏み台にされる要因があれば、そく
0863デフォルトの名無しさん
NGNG次に、踏み台にされる要因を分かりやすく定義しる!
0864デフォルトの名無しさん
NGNG0865デフォルトの名無しさん
NGNGこれか〜。最近のビデオデッキは便利になったものよのう
0866デフォルトの名無しさん
NGNG0867デフォルトの名無しさん
NGNGつくってみたいと思ったんですが。linuxとC言語で参考になるサイトなど
があれば伝授してください。お願いします
0868デフォルトの名無しさん
NGNGttp://www.forest.impress.co.jp/article/2000/02/22/wallpaper.html
0869デフォルトの名無しさん
NGNGってくらいのレベル
0870デフォルトの名無しさん
NGNG出直してきます(涙
0872デフォルトの名無しさん
NGNGhttp://www.forest.impress.co.jp/article/2000/02/22/wallpaper.html
0873デフォルトの名無しさん
NGNGデータ転送用のコネクションは、クライアント側がサーバーから
接続してくるのを待つらしいのですが、これだとLANの中から
FTPにつなごうとすると上手く動かないような気がします。
だけど、実際には問題なく動作しています。
なにか考え違いをしてるでしょうか?
0874デフォルトの名無しさん
NGNGもヨロ
0875デフォルトの名無しさん
NGNG考え方は合ってる
FTPはよく使われるのでルータがうまいことやってくれる
最近はパッシブモードもよく使われる
0876デフォルトの名無しさん
NGNG0877デフォルトの名無しさん
NGNG実装が楽
0878デフォルトの名無しさん
NGNGIndyライブラリ使えばおんなじだって。
0879デフォルトの名無しさん
NGNG0880デフォルトの名無しさん
NGNG今FTPを使うメリットってなんかあるの?
vectorとかもデフォルトHTTPでダウンロードだし。
0881デフォルトの名無しさん
NGNG0882デフォルトの名無しさん
NGNG最近は脆弱性扱いだけどな
http://katsu.watanabe.name/doc/ftp/aboutpassive.html
0883デフォルトの名無しさん
NGNGベクターのデフォはftpだけど。
0884デフォルトの名無しさん
NGNGFTPのがサーバ側の構造が単純なのでレスポンスが早い
FTPはたくさんファイルがある時にディレクトリ管理できる
0885デフォルトの名無しさん
NGNG0886デフォルトの名無しさん
NGNG0887デフォルトの名無しさん
NGNGftpはファイルが途中で壊れる事もしばしば。
パフォーマンス優先のために品質が犠牲になってる。
複数ファイルを一度にダウソすることなどほとんどなく、
書庫ファイルでのダウソが多いのでヘッダーなどどうでもいい。
0888デフォルトの名無しさん
NGNG0889デフォルトの名無しさん
NGNGサーバ運営者の都合なんだから
アクセス集中したらHTTPなんて機能すらしない
0890デフォルトの名無しさん
NGNGコネクション貼りっぱなしで2本使うから余計リソース消費が激しい。
0891デフォルトの名無しさん
NGNG0892デフォルトの名無しさん
NGNGこの根拠は何?
httpだと別にチェックサムかなんか送んの?
0893デフォルトの名無しさん
NGNG0894デフォルトの名無しさん
NGNG./ .\ / ヽ
/ ;ゝ--──-- 、._/ .|
/,.-‐''"´ \ |
/ ヽ、 |
/ ● ヽ|
l (_人__ノ ● l いや、そんな事言われても
.| ´´ | / | ワテ猫やし
l ヽ_/ ´´ l
` 、 /
`ー 、__ /
`'''ー‐‐──‐┬‐‐'''""
/ |
/ |
0895デフォルトの名無しさん
NGNG0896デフォルトの名無しさん
NGNGほぼ間違いない(w
PDFで文書をWeb公開する企業は、ある意味IT勝ち組。
というより、ITをあまり必要としてないから、逆説的勝ち組。
0897デフォルトの名無しさん
NGNGhttpのほうが「品質」が良いってどういう意味?
データをそのまんま流してるだけで、エラー訂正機能とかあるわけじゃないよね。
0898デフォルトの名無しさん
NGNG0899デフォルトの名無しさん
NGNG送信途中で失敗しても成功したかのように振舞う厄介なftpがそんなに好きなのかい?
0900デフォルトの名無しさん
NGNG0901デフォルトの名無しさん
NGNG0902デフォルトの名無しさん
NGNG0903デフォルトの名無しさん
NGNG経験が浅いね。
0904デフォルトの名無しさん
NGNGいや、猫だよ
0905デフォルトの名無しさん
NGNGscp使えよ。
0906デフォルトの名無しさん
NGNG余程アフォなクライアントとサーバ書いたんだね
0907デフォルトの名無しさん
NGNG自分で書いたことなくて、ftpコンポーネントみたいなのを使ってると思われ。
0908デフォルトの名無しさん
NGNG0909デフォルトの名無しさん
NGNG0910デフォルトの名無しさん
NGNG0911デフォルトの名無しさん
NGNGあんなのどこがいいのよ
0912デフォルトの名無しさん
NGNGsmbとかhttpとかとりあえずOS吐く可能性があるプロトコルを片っ端から試してみる。
0913デフォルトの名無しさん
NGNG0914デフォルトの名無しさん
NGNG利用している人に口頭で聞きに行く
0915デフォルトの名無しさん
NGNG0916デフォルトの名無しさん
NGNG0917デフォルトの名無しさん
NGNGその機器が回答するように設定しておく
0918デフォルトの名無しさん
NGNG0919デフォルトの名無しさん
NGNG0920デフォルトの名無しさん
NGNG0921デフォルトの名無しさん
NGNG0922デフォルトの名無しさん
NGNGhttp://2chplus.2ch.net/superfree/
0923デフォルトの名無しさん
NGNG意味が分からないにもほどがある。いったいなんだよそれ。
0924デフォルトの名無しさん
NGNG0925デフォルトの名無しさん
NGNG誰でも削除できるからあぼーんばっかりの板。
0926デフォルトの名無しさん
NGNGルーターが、PORTコマンドを書き換えて相手に送るとか、
そこまでやってくれるってことですか?
なんか、すごいかも。
0927デフォルトの名無しさん
NGNG0928デフォルトの名無しさん
NGNG0929デフォルトの名無しさん
NGNGすると正しく応答しますが、
ping <Windowsマシン名>
すると、違ったIPに問い合わせた上、Request timed out.します。
サーバーのWINSの動作がおかしいのか、
氏にかけのネット機器(自社製)が半応答してるのか、
原因が分からず困っています。
どうやって調べて逝けばよいのでしょうか?
0930929
NGNG>ping <Windowsマシン名>すると、違ったIPに問い合わせた上、
これは、コンソールに Pinging <マシン名> [XXX.XXX.XXX.XXX] with 32 bytes of data:と出て、
かつ、XXX.XXX.XXX.XXXのIPが違っていることが分かりました。
0931デフォルトの名無しさん
NGNG0932デフォルトの名無しさん
NGNG1. 再起動する
2. Ethereal でパケットキャプチャを開始する
3. ping <Windowsマシン名>とする
4. Ethereal でパケットキャプチャを停止する
でパケット眺めれば、直接の原因はたぶんすぐわかると思う。
0933929
NGNGEtherela(いーさ・りある?)凄いでつね。画面もカコイイし、Javaなんかな。
ping開始から、変なIPにARPプロトコルでBroadcastする前まで、
やりとりはDNS Serversの2つめ or Secondary WINS Server(DNSとWINS兼用サーバのため、どちらのサービスとして問い合わせたのか分からない)とのみ、
SMBプロトコルでやりとりしてることが分かりますた。
サーバーマシンの画面見ればなんか分かるんだろうか。
0934デフォルトの名無しさん
NGNG0935929
NGNGPCだけでなくて、ITRON/TCPスタックの機器まであって。
見渡した限りでは機器じゃないし、Windows PCが半死に状態で応答してるとも思えないし。
pingも応答しない機器のOSなんて調べられないですよね。
0936デフォルトの名無しさん
NGNG0937デフォルトの名無しさん
NGNG0938929
NGNG現象を消すよりも、犯人特定が重要で。
SMBプロトコルで通信してるということは、
そのサーバーにDNSサービスではなくて、
WINS サービス(なぜかSecondary)として問い合わせてる、
と確定しちゃって良いんですよねぇ。
0939929
NGNGあ、そうなんですか。
たとえ他で同じ現象が出たとしてもサーバーいじれば何とかなるのか。
0940デフォルトの名無しさん
NGNG0941デフォルトの名無しさん
NGNGドライバ辺りで意図的にパケットロスを発生させる方法はありますか?
できれば一定の確率とか一定のパターンでパケットが落ちるように設定できるやつ
ないでしょうか?
0942デフォルトの名無しさん
NGNGパケットロストや遅延を発生させることができるらしい。
キーワードとかは知らないけど。
0943デフォルトの名無しさん
NGNG0944デフォルトの名無しさん
NGNG0945デフォルトの名無しさん
NGNG2chに自動カキコするスクリプトを書くことを決意した。
よしやるぞ
0946デフォルトの名無しさん
NGNG0947デフォルトの名無しさん
NGNG応援するよ
0948デフォルトの名無しさん
NGNG2chの約八割はもうすでに人口無能による自動レスなわけだが
0949デフォルトの名無しさん
NGNGオマエモナー
0950945
NGNGCookieの対処でハマったけど
ProxomitronってソフトでやりとりしてるHTTPヘッダー覗いてみたら
Cookieはサーバーが要求してクライアントが送るんじゃなくて
アクセス時にクライアントが最初っから送りつけてることに気がつき
そのように記述したらサクっと書き込めた
あとは302 FoundだけどこれはHost情報を送ってやったらうまくいった
板一覧やスレ一覧を取得してやれば簡単な2chブラウザが作れるかも
やってみるかなぁ
0951デフォルトの名無しさん
NGNG漏れの予想では開発を中止する、になると思う
0952デフォルトの名無しさん
NGNGム板も荒らされたし
0954デフォルトの名無しさん
NGNG0955デフォルトの名無しさん
NGNGnetfilterでuserspace packet handlerを書く。(ここは板に合っている)
一台でやるにはdouble NATを。(ここは板違い)
0957デフォルトの名無しさん
NGNG0958デフォルトの名無しさん
NGNGどうやってその知識を得たんだ?
やっぱり、ヲタク?
0959デフォルトの名無しさん
NGNG| ̄``''- 、
| `゙''ー- 、 ________
| ,. -‐ ''´ ̄ ̄`ヽ、_ /
|, - '´ ̄ `ヽ、 /
/ `ヽ、ヽ /
_/ ヽヽ/
/ / / / / / ヽハ
く / /! | 〃 _/__ l| | | | | | | ||ヽ
\l// / | /|'´ ∧ || | |ー、|| | | l | ヽ
/ハ/ | | ヽ/ ヽ | ヽ | || /|ヽ/! |/ | ヽ
/ | ||ヽ { ,r===、 \| _!V |// // .! |
| || |l |ヽ!'´ ̄`゙ , ==ミ、 /イ川 |─┘
| ハ|| || | """ ┌---┐ ` / // |
V !ヽ ト! ヽ、 | ! / //| /
ヽ! \ハ` 、 ヽ、__ノ ,.イ/ // | /
┌/)/)/)/)/)/)/)/)/)/)lー/ ` ー‐┬ '´ レ//l/ |/
|(/(/(/(/(/(/(/(/(/(/│|| |\ 〃
r'´ ̄ヽ. | | ト / \
/  ̄`ア | | | ⌒/ 入
〉  ̄二) 知ってるが | | | / // ヽ
〈! ,. -' | | ヽ∠-----', '´ ',
| \| | .お前の態度が | |<二Z二 ̄ / ',
| | | _r'---| [ ``ヽ、 ',
| | | 気に入らない >-、__ [ ヽ !
\.| l. ヽ、 [ ヽ |
ヽ| \ r' ヽ、 |
0960デフォルトの名無しさん
NGNG0961デフォルトの名無しさん
NGNG日々学び詳しくなるのはプロとして当然
0962デフォルトの名無しさん
NGNG0963デフォルトの名無しさん
NGNGreadなら1バイトずつバッファに読み込んでも動くんですが、
writeでは一度にすべてを書き込まないと動きません。
これって、そういう仕様なんですか?
0964デフォルトの名無しさん
NGNGはい
0965デフォルトの名無しさん
NGNG0966デフォルトの名無しさん
NGNG0967デフォルトの名無しさん
NGNG専門家=ヲタク
じゃないだろ?
ヲタク=家でまでもコンパイラやインタプリタで遊んでる香具師
0968デフォルトの名無しさん
NGNG0969デフォルトの名無しさん
NGNG0970デフォルトの名無しさん
NGNG休日くらい休ませてくれ・・・。
0971デフォルトの名無しさん
NGNG「プログラマとして」役に立つのはヲタク系の奴だが
業務系のプログラマ程度だと、ヲタクでなくとも勤まる。
0972デフォルトの名無しさん
NGNG0973デフォルトの名無しさん
NGNG0974デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1096187183/
0975デフォルトの名無しさん
NGNG0976デフォルトの名無しさん
NGNG0977デフォルトの名無しさん
NGNG0978デフォルトの名無しさん
NGNG幸せな人生だな
0979デフォルトの名無しさん
NGNG0980デフォルトの名無しさん
NGNG0981デフォルトの名無しさん
NGNGレス数が950を超えています。1000を超えると書き込みができなくなります。