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


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

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



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/


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を何十倍も超える高速通信を実現したとか聞いたが

260 名前:デフォルトの名無しさん mailto:sage [2013/07/11(木) NY:AN:NY.AN ]
TCPが回線スループットの何十分の1の速度しか出ないなんて事は無いから
言ってることが明らかにおかしい

261 名前:デフォルトの名無しさん mailto:sage [2013/07/12(金) NY:AN:NY.AN ]
UDPは一方向の無手順通信
無手順だから早いってだけでハマらんようにね

262 名前:デフォルトの名無しさん mailto:sage [2013/07/12(金) NY:AN:NY.AN ]
既存ファイル転送プロトコルに比べて大して変わらない性能で何のインパクトもなかった(当時)。

263 名前:デフォルトの名無しさん mailto:sage [2013/07/12(金) NY:AN:NY.AN ]
出たなMulticastTCPお化け!

264 名前:デフォルトの名無しさん mailto:sage [2013/07/12(金) NY:AN:NY.AN ]
SCTPのマルチホーミング構成をとっているときに
クライアント-プライマリサーバからはHEARTBEAT
の送信・応答があるんだけど、セカンダリサーバの
ほうってプライマリからのハートビートインフォメーションに
乗せるんじゃなくてセカンダリサーバからHEARTBEAT
返すことってSOCKOPTのパラメタ設定とかで可能?

265 名前:デフォルトの名無しさん mailto:sage [2013/07/12(金) NY:AN:NY.AN ]
>>260
複数セッション束ねるとか、方法はあるでしょ



266 名前:デフォルトの名無しさん mailto:sage [2013/07/12(金) NY:AN:NY.AN ]
>>260
TCPはRTT依存するし、パケットロスに対する速度低下率が高すぎる。

267 名前:デフォルトの名無しさん mailto:sage [2013/07/12(金) NY:AN:NY.AN ]
>>264
dynamic multihomingが有効なら管理されてるpathの死活を把握してないといけないから、
セカンダリでもheartbeatによるpath管理が行われているはず。
フリーの実装ならRandall Stewartさんが関わっていたFreeBSDが信頼性あるんじゃないか。

>>266
image.itmedia.co.jp/l/im/news/articles/1206/12/l_moto_ssbp.jpg
みると、最初からwindow最大化したTCP4とRTT性能は大差ないように思う。
ack管理が閾値ベースである問題は解消してるけど、
そんなのは10年以上前からあるし。

268 名前:デフォルトの名無しさん mailto:sage [2013/07/12(金) NY:AN:NY.AN ]
無罪判決後、47氏の夢   2012年  『Winnyの金子氏が夢見る次世代高速ネットの世界』
ascii.jp/elem/000/000/712/712158/
>金子:本当にTCPがボトルネックなんですよ。みなさんあまり気付いていないですけど、
>SilverBulletで動作させてみると楽勝で10倍くらいの通信速度が出るんですよ。ヘタすると100倍くらい出ますから。

269 名前:デフォルトの名無しさん [2013/07/12(金) NY:AN:NY.AN ]
>>258
多対多だおω

270 名前:デフォルトの名無しさん mailto:sage [2013/07/12(金) NY:AN:NY.AN ]
>>258はTCP層だけしか見てないから仕方ない

271 名前:デフォルトの名無しさん mailto:sage [2013/07/12(金) NY:AN:NY.AN ]
TCPコネクションが <自IPアドレス, 自ポート番号, 他IPアドレス, 他ポート番号>という
組(tupple)でモデル化されることは、このスレ住人にとっては常識だと思う。

で、TCP層の利用者(user)であるアプリケーションの視点からは、
TCPコネクションは相手アプリケーションとの間の「1対1」関係に見えるし、同時に
TCPコネクションの集合を扱うTCP層の提供者(provider)であるTCPスタックの視点からは、
自集合と多集合との間の「多対多」に見える。

272 名前:デフォルトの名無しさん mailto:sage [2013/07/12(金) NY:AN:NY.AN ]
ベストエフォート側のネットワークで、
みんな帯域を譲りあいながら使ってるわけだからさ、
じゃないとslow-startとか必要ないわけよ。

273 名前:デフォルトの名無しさん mailto:sage [2013/07/12(金) NY:AN:NY.AN ]
>>266
>パケットロスに対する速度低下
それは確かにそうだね

274 名前:デフォルトの名無しさん mailto:sage [2013/07/12(金) NY:AN:NY.AN ]
>>271
ふつう、全単射を「多対多」とは言わんわな。

275 名前:デフォルトの名無しさん mailto:sage [2013/07/12(金) NY:AN:NY.AN ]
言わないな



276 名前:デフォルトの名無しさん mailto:sage [2013/07/13(土) NY:AN:NY.AN ]
TCPを多対多とか言う奴はUMLの多重度も正しく書けないだろ

277 名前:デフォルトの名無しさん mailto:sage [2013/07/13(土) NY:AN:NY.AN ]
輻輳を意識したプロトコルなんだから
1対1のことだけ考えてる訳ではないよ

278 名前:デフォルトの名無しさん mailto:sage [2013/07/13(土) NY:AN:NY.AN ]
>>277
全くその通りだが、それは論点ではない

279 名前:デフォルトの名無しさん mailto:sage [2013/07/13(土) NY:AN:NY.AN ]
速度低下の原因が輻輳であるならば
1対1の場合なら速度低下は起きない
と言っているということになる
それではいったい47氏の主張と
どこが違うと言えると言うのか

280 名前:デフォルトの名無しさん mailto:sage [2013/07/13(土) NY:AN:NY.AN ]
何が言いたいのか伝わって来ない

281 名前:デフォルトの名無しさん mailto:sage [2013/07/13(土) NY:AN:NY.AN ]
流れぶった切って宣伝です
C++で通信ライブラリのようなものを作っております
よかったらお試しください
ichishino.nobody.jp/

282 名前:デフォルトの名無しさん mailto:sage [2013/07/13(土) NY:AN:NY.AN ]
>281
頑張ったところを教えて

283 名前:デフォルトの名無しさん mailto:sage [2013/07/13(土) NY:AN:NY.AN ]
どっかのTCP/IPスタックがお馬鹿ってだけじゃあ

284 名前:デフォルトの名無しさん mailto:sage [2013/07/14(日) NY:AN:NY.AN ]
>>281
これは酷い
某技術書のサンプルコードとほとんど同じコードばかりじゃねえかw

285 名前:デフォルトの名無しさん mailto:sage [2013/07/14(日) NY:AN:NY.AN ]
WinSockで通信プログラム作ってるんですけど
ポート1つで通信するとした場合
ホスト側でソケット2つ用意してクライアント2人と繋げたいんですけど
どうしても片方のソケットにしか二人分のデータが飛んでこないんですけど
どうしたらいいですかね



286 名前:デフォルトの名無しさん mailto:sage [2013/07/14(日) NY:AN:NY.AN ]
マヌケな発言はやめてくれ
力が抜ける

287 名前:デフォルトの名無しさん mailto:sage [2013/07/14(日) NY:AN:NY.AN ]
まず服を脱ぎます

288 名前:デフォルトの名無しさん mailto:sage [2013/07/14(日) NY:AN:NY.AN ]
このスレに来ていいレベルじゃないな

289 名前:デフォルトの名無しさん mailto:sage [2013/07/14(日) NY:AN:NY.AN ]
いつからこのスレがレベルの高いスレだったと錯覚している?

290 名前:デフォルトの名無しさん mailto:sage [2013/07/14(日) NY:AN:NY.AN ]
俺が来た時から

291 名前:デフォルトの名無しさん mailto:sage [2013/07/14(日) NY:AN:NY.AN ]
誰も高いなんて言ってないんだが...

292 名前:デフォルトの名無しさん mailto:sage [2013/07/14(日) NY:AN:NY.AN ]
>>289
安心しろ
君がいることがレベルが高くない証明だ

293 名前:デフォルトの名無しさん mailto:sage [2013/07/14(日) NY:AN:NY.AN ]
俺とお前と

294 名前:デフォルトの名無しさん mailto:sage [2013/07/14(日) NY:AN:NY.AN ]
田舎ではまだいるけど東京ではLooseSocksはほぼ絶滅したね。

295 名前:デフォルトの名無しさん mailto:sage [2013/07/14(日) NY:AN:NY.AN ]
>>294
へえ、じゃ今はどんなのがはやりなの?こっちは田舎(神戸)だからよくわからないや



296 名前:デフォルトの名無しさん mailto:sage [2013/07/14(日) NY:AN:NY.AN ]
いまはNoseFooksだな

297 名前:デフォルトの名無しさん mailto:sage [2013/07/14(日) NY:AN:NY.AN ]
自分からドナドナされにいくのか?

298 名前:デフォルトの名無しさん mailto:sage [2013/07/14(日) NY:AN:NY.AN ]
大五郎〜♪

299 名前:デフォルトの名無しさん mailto:sage [2013/07/14(日) NY:AN:NY.AN ]
おれとおまえと

300 名前:デフォルトの名無しさん mailto:sage [2013/07/14(日) NY:AN:NY.AN ]
だいごろお〜♪

301 名前:デフォルトの名無しさん mailto:sage [2013/07/14(日) NY:AN:NY.AN ]
>>282
ネットワーク通信ですかね
サーバーアプリつくれば3000コネクションぐらいだったらいけると思います

302 名前:デフォルトの名無しさん mailto:sage [2013/07/14(日) NY:AN:NY.AN ]
微妙だな。頑張ったと言うわりに10Kは特に意識してないってことか。

303 名前:デフォルトの名無しさん mailto:sage [2013/07/14(日) NY:AN:NY.AN ]
この業界は何かと3Kと言われますしね

304 名前:デフォルトの名無しさん mailto:sage [2013/07/14(日) NY:AN:NY.AN ]
>>302
テストは10Kでやってるんですが、まあユーザープログラムの実装を入れたらもっと下だろうってことで

305 名前:デフォルトの名無しさん mailto:sage [2013/07/14(日) NY:AN:NY.AN ]
長時間の安定稼働がきついんですよね



306 名前:デフォルトの名無しさん mailto:sage [2013/07/14(日) NY:AN:NY.AN ]
10Kコネクションで、最低でも一週間以上稼働し続けられるものを目指してはいます

307 名前:デフォルトの名無しさん mailto:sage [2013/07/14(日) NY:AN:NY.AN ]
で、それを実現するために何苦労したとか、
役立つことは一切語る気はない、ただの宣伝行為という認識でいい?

308 名前:285 mailto:sage [2013/07/14(日) NY:AN:NY.AN ]
plsk.net/socket
マルチスレッドにしている部分のソースコードはらせて頂きました。
(現在は10個このスレッドを作成しています)
UDP/IPでの通信で同一ポートの使用が条件で
複数のクライアントと通信したいのですが
2箇所から通信してもらっても同じソケットにしかデータが着ません。
ここで質問なのですが
@分けることは可能なのでしょうか?(ソケットひとつにつき一人にする)
A分けない場合1つのソケットに複数のクライアントからデータが飛んできますが
 その様な動きはサーバーとしていいのでしょうか?

309 名前:デフォルトの名無しさん mailto:sage [2013/07/14(日) NY:AN:NY.AN ]
ソースは読んでないが、
同じソケットを使え
エラー処理はちゃんとやれ

310 名前:デフォルトの名無しさん mailto:sage [2013/07/15(月) NY:AN:NY.AN ]
>>308
不可能、いい

#ソースコードの断片から滲み出る初心者臭が酷いな

311 名前:デフォルトの名無しさん mailto:sage [2013/07/15(月) NY:AN:NY.AN ]
bindのエラーコードチェックすればすぐに分かることなのに

312 名前:285 mailto:sage [2013/07/15(月) NY:AN:NY.AN ]
>>309
>>311
 書き直した所bindで最初以外の9つのソケットからエラーが出てました
 エラー処理は大事ですねありがとうございました

>>310
 1つのソケットでデータを受信することにします
 ありがとうございます
 C言語初めてもう5年近くなるのにひどいありさまです 

313 名前:デフォルトの名無しさん mailto:sage [2013/07/15(月) NY:AN:NY.AN ]
ソース読んでなかった人間だけど、
ちゃんと文章で説明できてたからエスパー出来た。
それほど酷い有様でもない。

314 名前:デフォルトの名無しさん mailto:sega [2013/08/05(月) NY:AN:NY.AN ]
特定のポートを使用しているプログラムを全員殺す
というプログラムはどうやって書けばいいかな

315 名前:デフォルトの名無しさん mailto:sage [2013/08/05(月) NY:AN:NY.AN ]
全員って?例えば?



316 名前:デフォルトの名無しさん mailto:sage [2013/08/05(月) NY:AN:NY.AN ]
>>315
たとえば、待ちうけや接続で ローカルポート9999 を使用している
プログラムを全員殺す

って fuser で一覧出して殺せばいいのか
ありがとう

317 名前:デフォルトの名無しさん mailto:sage [2013/08/05(月) NY:AN:NY.AN ]
全員って、一つのポートを複数のプログラムで使えたっけか?

318 名前:デフォルトの名無しさん mailto:sage [2013/08/05(月) NY:AN:NY.AN ]
使えますが?

319 名前:デフォルトの名無しさん mailto:sage [2013/08/05(月) NY:AN:NY.AN ]
>>318
どうやって使うの?

320 名前:デフォルトの名無しさん mailto:sage [2013/08/05(月) NY:AN:NY.AN ]
socket APIで。
TCPの接続は<src IP, src port, dst IP, dst port>の四つ組で識別される。

321 名前:デフォルトの名無しさん mailto:sage [2013/08/05(月) NY:AN:NY.AN ]
>>320
複数のプログラムで使えるのは、src portの方?dst portの方?
そのとき、send()やrecv()ってどうやるの?

322 名前:デフォルトの名無しさん mailto:sage [2013/08/05(月) NY:AN:NY.AN ]
特定のポートに接続してくる迷惑な相手鯖を全員殺す
というプログラムはどうやって書けばいいかな
(迷惑の基準は一秒間に一定回数回以上とかです)
ただフィルタするんじゃなくて相手側のプロセス(出来れば鯖ごと)殺したいです

323 名前:デフォルトの名無しさん mailto:sage [2013/08/05(月) NY:AN:NY.AN ]
>>321
あまりにも初歩的だからマニュアル嫁。

324 名前:デフォルトの名無しさん mailto:sage [2013/08/05(月) NY:AN:NY.AN ]
自分の管理下じゃない、相手プロセスを殺すのは無理

案1) IPメモって 上位のところに abuse 報告
案2) 接続ポートを特定化しないようにする細工がかけられればそれで自衛

325 名前:デフォルトの名無しさん mailto:sage [2013/08/05(月) NY:AN:NY.AN ]
IP特定できてるならダミー鯖を用意してそっちに誘導かなぁ



326 名前:デフォルトの名無しさん mailto:sage [2013/08/05(月) NY:AN:NY.AN ]
>>321
せっかく>>320がTCPコネクションの概念を明解に書いてくれているのだから、
その意味を(ネットの情報や書籍を参考にして)勉強してみたほうがいいと思うよ

327 名前:321 mailto:sage [2013/08/05(月) NY:AN:NY.AN ]
今までいくつもソケットを使うアプリを作ってきたけど、同じポートを使うという
発想がなかったから全く想像つかないんです。
同じポート番号でlistenするってことなの?

328 名前:321 mailto:sage [2013/08/05(月) NY:AN:NY.AN ]
あ、ひょっとして、connectで同じポート番号を使ったプロセスをkillしたいってことなのかな?
今使ってるポート番号じゃなくて。

329 名前:デフォルトの名無しさん mailto:sage [2013/08/05(月) NY:AN:NY.AN ]
何寝言いってるんだか

330 名前:デフォルトの名無しさん mailto:sage [2013/08/05(月) NY:AN:NY.AN ]
どんな糞アプリ作ってきたんだよ?

331 名前:デフォルトの名無しさん mailto:sage [2013/08/05(月) NY:AN:NY.AN ]
ポート80を使用しているプログラムを全員殺す=世界中のWebサーバを殺すってことだろ。

332 名前:デフォルトの名無しさん mailto:sage [2013/08/06(火) NY:AN:NY.AN ]
apache MPMを調べてみると良い。コードも読める。preforkが分かりやすい。

333 名前:デフォルトの名無しさん mailto:sage [2013/08/10(土) NY:AN:NY.AN ]
俺もソケットよくわかんね
教科書通りだとforkして平行宇宙せよってなってるし
実際試してもそれで同一ポートでの通信が出来ちゃうんだけど
四つ組じゃそれぞれのクライアントを識別するのはどうやってんだろうって

334 名前:デフォルトの名無しさん mailto:sage [2013/08/10(土) NY:AN:NY.AN ]
難しいことなど何もないよ
まずその教科書を投げ捨ててプログラミングしろ

335 名前:デフォルトの名無しさん mailto:sage [2013/08/10(土) NY:AN:NY.AN ]
シグナルとかが絡むとどうしたらいいかわからなくなる
例えばSIGPIPEが来たときreadしてるスレッドから来たreadの終了を表すものなのか
そのほかスレッドでの要因なのか判断する方法とかわからなすぎる



336 名前:デフォルトの名無しさん mailto:sage [2013/08/19(月) NY:AN:NY.AN ]
>>335
もしよければ教えるけど

337 名前:デフォルトの名無しさん mailto:sage [2013/08/19(月) NY:AN:NY.AN ]
WindowsSocketのGracefulShutdownを実装してSend側をshutdownしてから0が返るまでrecv呼ぼうとしたらそのままブロッキングしてcloseまで辿り着かないんですけど…






[ 続きを読む ] / [ 携帯版 ]

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

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