1 名前:デフォルトの名無しさん [2012/10/31(水) 17:05:08.29 ] 主にソケットに関しての質疑応答スレッドです。 Programming UNIX Socket FAQ (日本語訳) www.kt.rim.or.jp/~ksk/sock-faq/indexj.html Winsock Programmer's FAQ (日本語訳) www.kt.rim.or.jp/~ksk/wskfaq-ja/ 関連リンクは>>2-10 辺り 足りなかったら適当に付け足してね 前スレ ネットワークプログラミング相談室 Port28 toro.2ch.net/test/read.cgi/tech/1334736934/ 関連スレ ネットワークプログラミング雑談 toro.2ch.net/test/read.cgi/tech/1235800707/
159 名前:デフォルトの名無しさん mailto:sage [2013/03/30(土) 22:45:38.67 ] >>155 何を言っているんだ。 サーバで見られること気にしてるのに、サーバで、またはサーバとの通信を暗号化しても意味ないだろ。 S/MIMEとかMUA間でメッセージを暗号化するんだよ。
160 名前:デフォルトの名無しさん mailto:sage [2013/03/30(土) 22:49:41.12 ] >>158 このスレの住人ならドメインと自鯖くらい持ってるだろ。まあセカンダリを分けるとなると大変だけど。
161 名前:デフォルトの名無しさん mailto:sage [2013/03/30(土) 23:14:59.53 ] >>159 メールを暗号化してもPGP作った人みたいにFBIに追いかけられませんか?
162 名前:デフォルトの名無しさん [2013/03/31(日) 12:01:43.31 ] >PGP作った人みたいにFBIに追いかけられ どういうこと?w 詳しくw
163 名前:デフォルトの名無しさん mailto:sage [2013/03/31(日) 18:38:40.95 ] つ ttp://www.confrage.com/security/pgp/pgp6_03.html
164 名前:デフォルトの名無しさん mailto:sage [2013/03/31(日) 18:56:08.59 ] 輸出規制の制度の隙間を縫って輸出するような真似をするからだよ。 書籍は規制対象外なのを利用して、本として持ち出して、 スキャナで取り込むとかしたんだっけ?
165 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 00:05:18.98 ] UDPを利用して特定のポートにデータを送信する場合、 受信者がいなければ、行き場を失ったデータはどこへ行くのか? 一定数はキューみたいなものに保存されるのかしら? それとも逐一消えていくのかしら? 前者の場合、リアルタイムシステムに悪影響を与えてしまうと思うけど、どうなんでしょう。 初心者でスマソ
166 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 00:10:51.44 ] 初心者お断り
167 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 00:18:11.89 ] >>165 受信ソケットの話かルータのIPの話かわからないが破棄すればいいだろ。いないってなんだ。
168 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 00:35:39.78 ] 申し訳ない、ソケットの話ね。 "1"というデータを送信、250msec待つ 次は"2"というデータを送信、待つ … という送信プログラムと、 特定のポートにアクセスしてデータを所得するプログラム を書いてみたんだけど、送信プログラムをしばらく走らせてから受信プログラムを走らせても、 すでに消え去ったと思われる1というデータを取得してしまう。
169 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 00:40:59.53 ] icmpってのがあるが、 icmpで反応があることを期待してはいけない。 相手が生きているか死んでるかはっきりしないのが分散システムの基本。
170 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 01:06:41.67 ] >>168 本当に受信者居ないの? もしかしてパソコンの電源が入ってない?
171 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 11:19:05.08 ] >>170 送信相手がいないと確定してるときって送信しないんだっけ? UDPは気にせず送信しちゃうんじゃないの?
172 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 12:31:35.65 ] プログラムがどこでブロックしてるか確かめながらやってみそ
173 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 13:00:01.31 ] >>171 気にせず送信すると思う。 >>172 プログラム側に問題があるのかな… OS側のバッファのせいとしか思えない…
174 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 13:05:27.61 ] >>165 捨てられるだけだよ
175 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 13:32:21.38 ] >>173 試しに1じゃなくて送信時刻を送ってみては
176 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 14:19:03.34 ] 全てが正しく動いているなら、ICMP port unreachが送信したホストに返る
177 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 19:24:47.39 ] >>175 サンクス 5秒ほど遅れてた…
178 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 21:56:32.66 ] 自己解決しますた… 受信プログラムを待機させている間にソケットにポート設定をしてたのが原因みたい よくワカンネ
179 名前:デフォルトの名無しさん mailto:sage [2013/04/04(木) 11:58:03.35 ] >>178 ふざけんなよ! >送信プログラムをしばらく走らせてから受信プログラムを走らせ って書いてたよな? 適当なことを書きやがって ポートをバインドした時点で受信は開始されます カーネルにバッファされます
180 名前:デフォルトの名無しさん mailto:sage [2013/04/04(木) 12:12:58.81 ] ワロタ
181 名前:デフォルトの名無しさん mailto:sage [2013/04/04(木) 13:30:39.19 ] >>178 死ねよおまえ 生きてる価値ねーよ
182 名前:デフォルトの名無しさん mailto:sage [2013/04/04(木) 13:57:20.53 ] プロトコルスタックさんの気持ちになって考えればすぐにわかることだろうに なにが「よくワカンネ」だ
183 名前:デフォルトの名無しさん mailto:sage [2013/04/04(木) 22:09:15.34 ] 馬鹿は馬鹿とは自分では認識できないということだな
184 名前: 忍法帖【Lv=2,xxxP】(2+0:5) mailto:sage [2013/05/11(土) 23:27:23.69 ] ほしゅ
185 名前:デフォルトの名無しさん mailto:sage [2013/05/13(月) 21:29:52.72 ] 久しぶりにwinsock使ったら面倒くさかった。 ここ数年C#にどっぷりつかってたから、C++でコーディングするのが面倒だった。 実行環境のことを考えなくてよいなら、C#やJavaで作る方が簡単だな。
186 名前:デフォルトの名無しさん mailto:sage [2013/05/13(月) 21:34:47.80 ] JavaはHttpURLConnectionで事足りるレベルなら簡単だけど Socket作るんだったらたぶんC#のほうが簡単そう。
187 名前:デフォルトの名無しさん mailto:sage [2013/06/01(土) 23:20:34.89 ] 質問ですが select(2)の第一引数には結局何を渡せば良いのん? バークレーソケットの場合、FD_SETSIZEを渡しとけば機能的には問題無いらしいが、 これは例えばFD_SETSIZEが32768の環境なら、select()を呼ぶたびに 32768個のディスクリプタがチェックされることになるので無駄が生じている気がする… あとWinsockではFD_SETした個数を渡せば良いというのは本当ですか
188 名前:187 mailto:sage [2013/06/01(土) 23:24:31.90 ] ああWinsockについては自己解決しました、 ttp://msdn.microsoft.com/en-us/library/windows/desktop/ms740141(v=vs.85).aspx >nfds [in] >Ignored. The nfds parameter is included only for compatibility with Berkeley sockets. →ガン無視されるので0とか-1とか渡しても良い(適当) バークレーソケットではどうなのですか
189 名前:デフォルトの名無しさん mailto:sage [2013/06/01(土) 23:49:25.06 ] 一番大きいfd+1
190 名前:187 mailto:sage [2013/06/02(日) 00:00:57.31 ] >>189 レスdクス、 select(2)を呼ぶ時点でFD_SETされているのはソケット番号であってディスクリプタ番号ではなく、 ソケット番号がディスクリプタ番号と一致するとは限らないと思うのですが、それでも? 実はバークレーソケットでは一致するのでしょうか (C標準ライブラリのIOBとかの実装と同じで、 ハンドル==配列の添え字、とする実装のが自然とは思えますが、仕様としてどうなの?)
191 名前:デフォルトの名無しさん mailto:sage [2013/06/02(日) 00:15:20.65 ] socket(2), open(2)が返すのはfd。 fdは全部数字。 「ソケット番号」という概念はない。
192 名前:デフォルトの名無しさん mailto:sage [2013/06/02(日) 00:50:32.12 ] >>191 レスdクス多分理解しました バークレーソケットの場合は全部fdなので問題は無い、と、 ただ、サーバ側のプログラムでは、クライアントから新規接続cがあった場合、 listenしていたfdをaccept(2)に渡して接続c用の新規fdを取得する結果、 select(2)で待つべきfdが増殖していくと思うのですが、 ということは<一番大きいfd+1 >というのはそのつど更新していくもの? それとも、通信プロセスを起こすタイプのマルチスレッドサーバにすると問題無い(普通はそうする?)のでしょうか… あと関連質問なのですが、 通信「スレッド」を起こすタイプのマルチスレッドサーバではどうすれば良いのでしょう… 子プロセスにfdを渡すのと異なり、親がfdを閉じるわけには行かない しかし親だけがselect(2)するのでは通信「スレッド」を起こす意味がない また、実情はともかく、仕様上はWinsockはスレッドセーフとは謳われていない (Winsock互換の非スレッドセーフな実装が理論上は有り得る) ので、どうプログラミングするのが正しいのかいまいちわからん…
193 名前:デフォルトの名無しさん mailto:sage [2013/06/02(日) 03:49:28.43 ] そりゃ更新しないと意味ないわな。 マルチスレッドサーバならselect(2)は使わなくていいでしょ。 いろいろな混合モデルもあるけど、最初は簡単なモデルで。
194 名前:デフォルトの名無しさん mailto:sage [2013/06/02(日) 09:34:05.28 ] 何バイト送られて来るかわからない通信でselect→1バイトずつreadと言うのはやるべきじゃないってmanに書かれてたけどどうするのが一番効率的なんでしょう。 mtuの値を取得してその値-フレーム分をreadするのでしょうか?
195 名前:デフォルトの名無しさん mailto:sage [2013/06/02(日) 10:54:39.80 ] そりゃ 1MB 受け取るのに百万回繰り返さなきゃいかんようではお世辞にも効率いいとは言えまい ノンブロッキングモードにして適当に大きなサイズ (8KB とか 64 KB とか) で読めばいい
196 名前:デフォルトの名無しさん mailto:sage [2013/06/03(月) 01:05:59.71 ] ノンブロッキングにする必要はない。
197 名前:デフォルトの名無しさん mailto:sage [2013/06/03(月) 01:16:29.85 ] selectしているのはブロッキングさせたくないからで、selectの後に受信データより多いバッファ分読み込もうとしたらブロッキングしちゃうからノンブロッキングで読み込む方が良さそうな気がするけど何か見落としあったりします?
198 名前:デフォルトの名無しさん mailto:sage [2013/06/03(月) 01:24:07.02 ] > しちゃう ダウト
199 名前:デフォルトの名無しさん mailto:sage [2013/06/03(月) 01:56:25.17 ] ブロックするだろ
200 名前:デフォルトの名無しさん mailto:sage [2013/06/03(月) 02:00:17.97 ] しないだろ
201 名前:デフォルトの名無しさん mailto:sage [2013/06/03(月) 02:05:28.99 ] >>199 しない 実験してみるといい
202 名前:デフォルトの名無しさん mailto:sage [2013/06/03(月) 02:05:39.31 ] うん。やっぱしないね>>199 は忘れて
203 名前:デフォルトの名無しさん mailto:sage [2013/06/03(月) 03:59:52.42 ] 1バイトでもデータがあればね
204 名前:デフォルトの名無しさん mailto:sage [2013/06/03(月) 11:23:03.45 ] selectした後の話だからね。>>197
205 名前:デフォルトの名無しさん mailto:sage [2013/06/03(月) 11:26:58.12 ] select後 受信データが1以上でバッファはデータ以上の大きさで読み込むと? 受信データが無いのに読み込むと?
206 名前:デフォルトの名無しさん [2013/06/03(月) 11:33:03.05 ] 馬鹿じゃなかと?
207 名前:デフォルトの名無しさん mailto:sage [2013/06/03(月) 11:41:45.21 ] ゴカイうまかっちゃ
208 名前:デフォルトの名無しさん mailto:sage [2013/06/03(月) 12:12:09.02 ] むろみさんは海に還れ
209 名前:デフォルトの名無しさん mailto:sage [2013/06/03(月) 23:50:05.47 ] あんたドライバー刺すわよ
210 名前:192 mailto:sage [2013/06/08(土) 23:51:12.09 ] かなり自己解決したっぽい プロセスを起こすタイプのマルチスレッドサーバの現代版サンプル(他)↓ www.v6pc.jp/jp/upload/pdf/socket-sample-20121203.pdf いとぢゅん氏が絡んでいたやつっぽいので多分信用に足る で、Winsockにおいてプロセスにソケットを渡す方法↓ app.m-cocolog.jp/t/typecast/114340/102386/category/3335520 プロセスの終了を何の工夫も無くWaitForMultipreObjects()で待つと64プロセスが上限になるが、 そこはそれ、WaitForMultipreObjects()で64プロセス待つスレッドを64スレッド待つ、とかいう 多段構成が考えられる(いや知らんけど多分、 WinsockはGUIとの共存に適した非同期インタ──フェ──スも有するが、 とりあえずそこまでウィンドウズべったりにしなくとも、 select()かWsaPoll()だけでもマルチスレッドサ─バをなんとか構成できるのではないか(適当)
211 名前:192 mailto:sage [2013/06/09(日) 00:01:04.61 ] ちなみに、WinsockではデフォルトでFD_SETSIZE=64だが、 socket()は平気でこれより大きいfd番号を返してくる ていうか、現代のOSではLinuxだろうがWindowsだろうがFD_SETSIZEの制限に特に意味はなく、 FD_ISSET()の第一引数には 0..max{ socket()が返した値 } + 1 というの連番を与えるのではなくて、 socket()が返した数値(FD_SETSIZEより大きく成り得、かつ離散的)を配列かvectorにでもとっておいて、 その値を直接与えるのが正しいっぽい 上の現代版サンプルでもそうなっている(つまり>189のやり方は古い疑い有り)
212 名前:デフォルトの名無しさん mailto:sage [2013/06/09(日) 07:07:01.75 ] 何言ってるか分からないが、その現代版サンプル(謎)でも fd + 1 になってるじゃねーか
213 名前:デフォルトの名無しさん mailto:sage [2013/06/09(日) 07:21:28.43 ] >>212 そこはそうだが、 x68000.q-e-d.net/~68user/net/c-echo-2.html における 166: for ( i=0 ; i<FD_SETSIZE ; i++ ){ 167: if ( FD_ISSET(i, &target_fds) ){ が、 www.v6pc.jp/jp/upload/pdf/socket-sample-20121203.pdf の「複数の socket を生成するデュアルスタック対応サーバプログラム」では for (i = 0; i < smax; i++) { if (FD_ISSET(s[i], &rfd)) { になってるねん(s[]にはsocket()が返した値が入っており、 smaxはs[]の要素数+1
214 名前:デフォルトの名無しさん mailto:sage [2013/06/09(日) 09:30:05.98 ] >>213 何を言いたいのか分からない FD_SETSIZEを超えたらまずいというのならその通り。 下のURLの方は、 >> if (s[smax] >= FD_SETSIZE) { でFD_SETSIZEを超えるものを除外してるから、 s[smax]がFD_SETSIZEを超えることはない 離散的だのベクターだのは意味不明
215 名前:デフォルトの名無しさん mailto:sage [2013/06/09(日) 13:20:01.15 ] >>214 話を込み入らせてしまって申し訳ないですが、 >> if (s[smax] >= FD_SETSIZE) { これは少なくともWinsockでは不要ていうか、 >socket()は平気でこれ(FD_SETSIZE)より大きいfd番号を返してくる (211) という事実があるので、削除して試した 実際、あるとgetaddrinfo()で列挙されたlisten可能ポート(うちの環境では s[0] = 116, s[120]=120となった)が全てそのif文で除外され、 bind()やlisten()まで行き着かない。削除するとうまくいく(クライアントとつながり、"hello ::1"とか出る) >FD_SETSIZEを超えたらまずいというのならその通り。 「何が」FD_SETSIZEを超えたらまずいのかいまいちどお考えいただきたい FD_ISSET(a, b)の第一引数aが超えたらfd_set構造体をオーバーランするからまずい、というのが第一義だが、 しかし、>213の上のリンク先と、>213の下のリンク先では、第一引数に書かれている内容が異なるのですじゃ
216 名前:215 mailto:sage [2013/06/09(日) 13:22:58.77 ] 訂正。 誤1: getaddrinfo()で列挙されたlisten可能ポート 正1: getaddrinfo()で列挙されたlisten可能ソケット 誤2: s[0] = 116, s[120]=120となった 正2: s[0] = 116, s[1]=120となった
217 名前:214 mailto:sage [2013/06/09(日) 17:26:56.22 ] 一応「何が」について答えておくと、ファイルディスクリプタ番号。 fd_set構造体をオーバーランしたらまずい、という理解で合ってる。 >>213 の上の引用と下の引用の第一引数は同じなので、何言ってるかわからない。
218 名前:デフォルトの名無しさん mailto:sage [2013/06/09(日) 17:51:44.47 ] >>211 > socket()が返した数値(FD_SETSIZEより大きく成り得、かつ離散的)を配列かvectorにでもとっておいて、 > その値を直接与えるのが正しいっぽい > 上の現代版サンプルでもそうなっている(つまり>189のやり方は古い疑い有り) 根本的に理解してないな。 >>189 と同じ事を言っておいて、古い疑いありとはw 仕様と仕様を満たすための実装方法の区別がつかない人みたい。 実装方法で考えないと仕様が理解できない。
219 名前:デフォルトの名無しさん mailto:sage [2013/06/10(月) 11:24:49.53 ] 私はselectは使わない、絶対に。
220 名前:デフォルトの名無しさん mailto:sage [2013/06/10(月) 11:30:49.49 ] 絶対ニダ
221 名前:デフォルトの名無しさん mailto:sage [2013/06/15(土) 12:03:09.61 ] >>217 >>218 はいはい御託は>189をWinsockで動かしてから言ってね&#9825; BSDソケットでは、ファイルディスクリプタ番号がFD_SETを超えることは無いから>189のコードで良い 0〜FD_SETまでの中に、必ずsocket()で作ったlisten中のソケットがある Windsockでは違う
222 名前:デフォルトの名無しさん mailto:sage [2013/06/15(土) 15:40:20.49 ] >>221 > Windsock ってのは, BSD ソケット API を Windows で実装したものって理解してたんだが違うのか? つか, > BSDソケットでは、ファイルディスクリプタ番号がFD_SETを超えることは無い 保証は何処にある?
223 名前:デフォルトの名無しさん mailto:sage [2013/06/15(土) 15:58:13.05 ] FD_SETじゃなくてFD_SETSIZEの事言ってるんだろうけど そんなもの使うのヤメレ
224 名前:デフォルトの名無しさん mailto:sage [2013/06/15(土) 15:59:06.31 ] 保証されてるのはFD_SETSIZE未満の記述子に対してだな。 しれっとウソつくなよ。>>221
225 名前:デフォルトの名無しさん mailto:sage [2013/06/15(土) 16:46:01.43 ] >>222 > > Windsock > ってのは, BSD ソケット API を Windows で実装したものって理解してたんだが違うのか? 違う。似て非なるもの。意味不明の改変もある。
226 名前:デフォルトの名無しさん mailto:sage [2013/06/15(土) 16:46:47.76 ] >>225 >>221 は馬鹿でよく分かってないので間違ったこと書くのは仕方ない。
227 名前:デフォルトの名無しさん mailto:sage [2013/06/16(日) 12:00:56.26 ] windsockってなんだwinsock2のことかね
228 名前:デフォルトの名無しさん mailto:sage [2013/06/17(月) 12:46:20.67 ] >>227 1も2もどっちも嫌い
229 名前:デフォルトの名無しさん mailto:sage [2013/06/23(日) 03:27:09.95 ] 別物なんだよなあ…ところどころ似てるけど全然違うから紛らわしい
230 名前:デフォルトの名無しさん mailto:sage [2013/07/03(水) NY:AN:NY.AN ] 質問です。 Winsockを使っています。 一度通信を終えた後に再度通信を行おうとすると、sendをacceptが認識してくれません。 bind,listen関数は正常に動作しています。 クライアント側は完全に再起動、サーバーはwhileで使いまわしています。 原因に心当たりのある人教えてください
231 名前:デフォルトの名無しさん mailto:sage [2013/07/03(水) NY:AN:NY.AN ] >sendをacceptが認識してくれません 認識するわけなかろう
232 名前:230 mailto:sage [2013/07/03(水) NY:AN:NY.AN ] >>231 済みません。仰る通りでした。 connectの戻り値は0でクライアント側は繋がっていると認識しているようです。 サーバー側を消すとエラーが出てくるので間違い無いと思います。 サーバー側はacceptを使っているスレッドを消していない時は2つ以上の接続であっても、上手く動作します。 クライアント側が再接続する場合もちゃんと動きます。 しかしスレッドを再起動した時には一つ目の接続から認識しません。 変数は毎回初期化しています。
233 名前:デフォルトの名無しさん mailto:sage [2013/07/03(水) NY:AN:NY.AN ] サーバーはwhileで使い回してるのにスレッドを再起動? 状況がよくわからんな
234 名前:デフォルトの名無しさん mailto:sage [2013/07/03(水) NY:AN:NY.AN ] closeし忘れ?
235 名前:デフォルトの名無しさん mailto:sage [2013/07/03(水) NY:AN:NY.AN ] >>232 ちゃんとListenしなおしてる?
236 名前:デフォルトの名無しさん mailto:sage [2013/07/04(木) NY:AN:NY.AN ] listenしなおしってなんだよ しっぱなしでいいだろ いちいち再listenとかどこのBASICモドキだよ
237 名前:デフォルトの名無しさん mailto:sage [2013/07/04(木) NY:AN:NY.AN ] accept に渡してるソケットを accept の戻り値で書き換えてるとか? accept の戻りのソケットは 接続発生毎に別物だから 変な使いまわしからすると 「接続は受けた けど クライアントとの通信が出来てない」 ってなことになる
238 名前:230 mailto:sage [2013/07/05(金) NY:AN:NY.AN ] >>233 ,236 考えてみればlistenしっぱなしで良かったです; 設定を弄る時に排他処理が必要かと思い、止めようとしてました >>234 ,5 再lisetn,closeはしていると思います。 >>237 有用な情報ありがとうございます! 以下のような処理をしてるので大丈夫だとは思いますが、調べてみます。 listen(--); -初期化処理- while(1){ dstSocket[id] = accept(----); if(-1 != dstSocket[id]){ -------- id = DecideNewId(); } }
239 名前:デフォルトの名無しさん mailto:sage [2013/07/09(火) NY:AN:NY.AN ] これは肝心なところを隠して、どうでもいいところだけ書くダメな質問の典型だな 全体に意味不明だから、もう少し勉強してから出直すほうがいいと思う
240 名前:デフォルトの名無しさん mailto:sage [2013/07/10(水) NY:AN:NY.AN ] ほとんどのバグは本人が関係ないと思って端折ってるところに存在する そもそも肝心なところがどこか判ってるプログラマはむしろバグらない
241 名前:デフォルトの名無しさん mailto:sage [2013/07/10(水) NY:AN:NY.AN ] なんでこうセンスの無い人間がプログラミングなんかやるのか すべて駆逐したい
242 名前:デフォルトの名無しさん mailto:sage [2013/07/10(水) NY:AN:NY.AN ] 9割5分くらいのPGが消えてしまうじゃないか
243 名前:デフォルトの名無しさん mailto:sage [2013/07/10(水) NY:AN:NY.AN ] 104期生ってどのくらい巨人になれるの?
244 名前:デフォルトの名無しさん mailto:sage [2013/07/10(水) NY:AN:NY.AN ] web(HTTP)の普及のせいで ネットワークを利用するアプリの質が極端に下がった 退化しまくり
245 名前:デフォルトの名無しさん mailto:sage [2013/07/10(水) NY:AN:NY.AN ] なんでもWebサービス。まあ便利だけどね。
246 名前:デフォルトの名無しさん [2013/07/10(水) NY:AN:NY.AN ] webサービスは機種依存性をなくしたりアプリのインスコの手間を省いたりDLL地獄回避のメリットがあると言われていたが 結局ブラウザのバージョン依存で地獄とか同じ過ちを繰り返してるとしか
247 名前:デフォルトの名無しさん mailto:sage [2013/07/10(水) NY:AN:NY.AN ] 俺の言ったwebサービスはWebブラウザは関係ないけどね
248 名前:デフォルトの名無しさん [2013/07/10(水) NY:AN:NY.AN ] P2P掲示板の同期方法はどうやればいいですか? 基本が一対一の通信なのに全体で同じデータを受け取れるのはむずかしくないですか?
249 名前:デフォルトの名無しさん mailto:sage [2013/07/10(水) NY:AN:NY.AN ] 通信速度が上がったから、HTTPのオーバーヘッドが気にならんからなぁ >>248 P2Pで全体ってどういう事を言ってるのかしらんが 全体で同じデータを受け取る必要はないだろ
250 名前:デフォルトの名無しさん mailto:sage [2013/07/10(水) NY:AN:NY.AN ] WebサービスってWSDLとかの話だろ、ブラウザ関係ねえw
251 名前:デフォルトの名無しさん [2013/07/10(水) NY:AN:NY.AN ] ソケットでhttpクライアント作ってみたけど意外に簡単すね でも企業面接でhttpの質問のみで落とされますた
252 名前:デフォルトの名無しさん mailto:sage [2013/07/11(木) NY:AN:NY.AN ] java の質問で拾ってもらいました10年前
253 名前:デフォルトの名無しさん mailto:sage [2013/07/11(木) NY:AN:NY.AN ] TCPのパケットの問題で落ちたわ…
254 名前:デフォルトの名無しさん mailto:sage [2013/07/11(木) NY:AN:NY.AN ] >>248 難しくは無い。 全体に同じデータを送る必要があるなら、全体に同じデータを送るだけ。 非常に単純な話だよ。
255 名前:デフォルトの名無しさん mailto:sage [2013/07/11(木) NY:AN:NY.AN ] 実はUDPの方が転送効率は良いんです。TCPは糞です。 ascii.jp/elem/000/000/712/712158/
256 名前:デフォルトの名無しさん mailto:sage [2013/07/11(木) NY:AN:NY.AN ] >>255 tcp6に採用されるような論文書かないと説得力全くない。 特殊な状況でしか効率良くないプロトコルじゃあ...
257 名前:デフォルトの名無しさん mailto:sage [2013/07/11(木) NY:AN:NY.AN ] TCPが効率悪く見えるのは通信が1対1のときのを測定してるからだよな 多対多の通信を想定したプロトコルなんだから
258 名前:デフォルトの名無しさん mailto:sage [2013/07/11(木) NY:AN:NY.AN ] TCPって思いっきり1対1の通信を想定したプロトコルじゃねーか。
259 名前:デフォルトの名無しさん [2013/07/11(木) NY:AN:NY.AN ] 故47氏がTCPを何十倍も超える高速通信を実現したとか聞いたが