ネットワークプログラミング相談室 Port26
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2010/03/23(火) 20:31:49Programming UNIX Socket FAQ (日本語訳)
http://www.kt.rim.or.jp/~ksk/sock-faq/indexj.html
Winsock Programmer's FAQ (日本語訳)
http://www.kt.rim.or.jp/~ksk/wskfaq-ja/
関連リンクは>>2-10辺り
足りなかったら適当に付け足してね
前スレ
ネットワークプログラミング相談室 Port25
http://pc12.2ch.net/test/read.cgi/tech/1255459388/
関連スレ
ネットワークプログラミング雑談
http://pc12.2ch.net/test/read.cgi/tech/1235800707/
Java ネットワークプログラミング 【教えて!】
http://pc12.2ch.net/test/read.cgi/tech/1086238859/
0655デフォルトの名無しさん
2010/07/23(金) 14:30:34sleepしたら通信が遅くなるでしょ
0656デフォルトの名無しさん
2010/07/23(金) 14:42:25連続してパケットが来たときに、自前処理やってるんだから100%になっても不思議じゃないよね。
その処理分を「CPU使用率」から除外したいってこと?
無理なんじゃね?
0657デフォルトの名無しさん
2010/07/23(金) 14:46:59>カーネルレベルでやろうがユーザーレベルでやろうが同じことをやろうとしたら
>リソースコストは同じだけども
違うことをやってるから、結果CPU使用率が異なるんだとは思わないんだろうか。
0658デフォルトの名無しさん
2010/07/23(金) 14:55:030659デフォルトの名無しさん
2010/07/23(金) 14:59:37それともリアルタイムで糞重いエンコーディングとか画像処理系のフィルタリングかけてるとか?
だったらもっと速いPC買おうぜ
要するに処理能力が足りてないんだよ
0660デフォルトの名無しさん
2010/07/23(金) 15:11:24UDPデータが連続して来るのにネットワーク速度はあんまり関係ないよね
ローカルLAN同士の通信で1000バイトやそこらのパケットの連続を
ループでまわすと処理の大小はあんまり関係ないと思うのだけど
0661デフォルトの名無しさん
2010/07/23(金) 15:57:32そんな膨大なデータやりとりするなら、しゃーないんじゃないかなあ
0662デフォルトの名無しさん
2010/07/23(金) 15:58:140663デフォルトの名無しさん
2010/07/23(金) 16:02:180664デフォルトの名無しさん
2010/07/23(金) 17:06:420665デフォルトの名無しさん
2010/07/23(金) 17:32:280666デフォルトの名無しさん
2010/07/23(金) 18:13:05CPU使用率って誰が管理してんの?
0667デフォルトの名無しさん
2010/07/23(金) 18:17:58CPU使用率が100%になっているだけだと推測。
selectあるいは(Win32の)イベントオブジェクトで
UDP受信を非同期処理で実現していれば、
(一般的には)CPU使用率が100%になることはありえない。
0668デフォルトの名無しさん
2010/07/23(金) 18:25:57>>見た目が悪いのでCPU使用率に反映させない方法はないものだろうか
今日の晩ご飯はカレーライスがいい、カレーライスじゃなきゃ絶対にイヤダ!!
と言っているガキの戯言にしか聞こえない。あるいは、
中間試験の英語と数学で赤点をとってしまった。母親に知られるとやばいので、
それを隠し通せる方法はないものだろうか?
でもいい。質問の内容がプログラミング相談室向けでは無い。
お子様向け人生相談室に合う話題だ。
0669デフォルトの名無しさん
2010/07/23(金) 18:40:53もちろんロックを実装して何も無い時にCPU負荷が上がらないようにしてるけど
データベースの1レコードを1つのパケットにして何十件かをまとめて送るんだけど
もちろん転送効率を落としたくないから可能な限り早く発送して再送をする
ローカル環境では50ミリ秒前後の遅延がロスが少ない感じだけど
この頻度でも受信側はループして処理すると100%になるよ
0670デフォルトの名無しさん
2010/07/23(金) 18:53:17プラットフォームはWindows(WinSock)でいいのかな?以下、Yesとして答えるよ。
>>もちろんロックを実装して何も無い時にCPU負荷が上がらないようにしてるけど
ロックというのはWin32 APIのクリチカルセクションのことかな?
これは資源の排他制御に使う操作だから、これをループに組み込めばCPUを無駄に消費するのは当然。
>>667で書いたように、selectあるいはイベントオブジェクトで実装する必要がある。
0671デフォルトの名無しさん
2010/07/23(金) 19:19:58言語はC#でWaitHandleというものがある
恐らくWaitSingleObject APIをラップしたものだろうと思う
確かにコストは大きいけどCPU使用率に極端に影響するほどのコストではないと思うけどな
0672デフォルトの名無しさん
2010/07/23(金) 19:21:52これは省略出来ない処理なんでどうしようもない
kernelでCPUを喰っているなら、HWを買い換える。
userでなら、糞なprogramを書き換える。
0674デフォルトの名無しさん
2010/07/27(火) 12:39:17netsh ってWindowsでサーバー構築してる人が使うものなんですか?
0675デフォルトの名無しさん
2010/07/27(火) 12:53:440676デフォルトの名無しさん
2010/08/11(水) 02:17:22クライアント側で FD_CLOSE が呼ばれるのはどういうときでしょうか?
・サーバ側がclosesocketしたとき
・サーバ側がshutdownしたとき
・クライアント側がclosesocketしたとき
・クライアント側がshutdownしたとき
0677デフォルトの名無しさん
2010/08/11(水) 11:08:45上3つじゃね
0678デフォルトの名無しさん
2010/08/11(水) 12:50:50http://msdn.microsoft.com/en-us/library/ms741540(VS.85).aspx
The FD_CLOSE message is posted when a close indication is received for
the virtual circuit corresponding to the socket. In TCP terms, this means
that the FD_CLOSE is posted when the connection goes into the TIME WAIT or
CLOSE WAIT states. This results from the remote end performing a shutdown
on the send side or a closesocket. FD_CLOSE should only be posted after all
data is read from a socket, but an application should check for remaining
data upon receipt of FD_CLOSE to avoid any possibility of losing data.
0679デフォルトの名無しさん
2010/08/11(水) 16:01:560680デフォルトの名無しさん
2010/08/11(水) 19:31:150681デフォルトの名無しさん
2010/08/11(水) 22:52:07何故、ランダムに待ち受けポートを変更しても通信が出きるんですか?
0682デフォルトの名無しさん
2010/08/11(水) 22:56:33英語力も高くなるよ、まじめにプログラミングすれば…
0683デフォルトの名無しさん
2010/08/11(水) 23:54:35相手が何番ポートか分かってるから。
0684デフォルトの名無しさん
2010/08/12(木) 00:11:010685デフォルトの名無しさん
2010/08/12(木) 00:12:210686デフォルトの名無しさん
2010/08/12(木) 02:19:57その選んだポート番号と自分のIPアドレスを自ノード情報として拡散するから。
0687デフォルトの名無しさん
2010/08/12(木) 02:46:42>>678を訳してみた。専門用語が理解できていれば、高卒レベルの英文法の知識で十分ではないかと思われる。
>The FD_CLOSE message is posted when a close indication is received for
>the virtual circuit corresponding to the socket.
FD_CLOSEメッセージは、ソケットに対応する仮想回路からclose通知を受信した時に通知される。
>In TCP terms, this means that the FD_CLOSE is posted when the connection
>goes into the TIME WAIT or CLOSE WAIT states.
TCPの用語で言い換えれば、これは接続がTIME WAIT状態またはCLOSE WAIT状態へ遷移する時に
FD_CLOSEが通知されることを意味する。
>This results from the remote end performing a shutdown on the send side or a closesocket.
これは送信側のリモートエンドによるshutdownの実行、あるいはclosesocketに起因する。
>FD_CLOSE should only be posted after all data is read from a socket, but an application
>should check for remaining data upon receipt of FD_CLOSE to avoid any possibility of losing data.
FD_CLOSEはすべてのデータがソケットから読まれた後にのみ通知されるはずであるが、
データを失う可能性を避けるため、アプリケーションはFD_CLOSEを受取り次第、
残りのデータが存在するかを確認すべきである。
0688デフォルトの名無しさん
2010/08/12(木) 03:27:080689デフォルトの名無しさん
2010/08/13(金) 17:44:10つまりどういうことですか?
0690デフォルトの名無しさん
2010/08/13(金) 21:35:43リモート側アプリケーションが恣意的に回線を閉じたということ。
それともshutdownとclosesocketの意味が分からないのかな?
0691デフォルトの名無しさん
2010/08/13(金) 23:57:53○ リモートエンドによる送信面のshutdownの実行
0692デフォルトの名無しさん
2010/08/14(土) 00:10:47相手側がshutdown(sock,SD_RECEIVE); を呼んだ場合や、自身がclosesocketを呼び出した場合はFD_CLOSEは発生しないって事ですか?
0693デフォルトの名無しさん
2010/08/14(土) 00:25:31FD_CLOSEが飛んでくるはず。
0694デフォルトの名無しさん
2010/08/14(土) 22:44:400695デフォルトの名無しさん
2010/08/21(土) 10:20:38たとえば上のサイトでは ダウンロードキーに moemoe と入力すると
ダウンロードできるようになりますが、
これをプログラムで行うにはどのように行うのでしょうか?
0696デフォルトの名無しさん
2010/08/21(土) 11:15:56先生、病院はこっちです
ttp://www.pri.kyoto-u.ac.jp/index-j.html
0697デフォルトの名無しさん
2010/08/21(土) 12:58:530698695
2010/08/22(日) 10:19:19お願いしますm(_ _)m
0699デフォルトの名無しさん
2010/08/22(日) 18:55:190700デフォルトの名無しさん
2010/08/22(日) 19:09:47そのページだと>>695レベルじゃ作れないかもな〜
cookie関係のプログラミング面倒くさいもん
LLで作るんだろうけど、www::mechanizeでも調べればいいと思うよ
0701695
2010/08/23(月) 19:55:55すいませんでしたm(_ _)m
0702デフォルトの名無しさん
2010/08/23(月) 20:09:12LLって何の略?
0703デフォルトの名無しさん
2010/08/23(月) 20:12:02bashとかwshとかああいうののことか。知らなかったわ
0704695
2010/08/23(月) 22:16:22すいませんでしたm(_ _)m
0705695
2010/08/24(火) 17:42:33買ったほうが作者にもいいし、経済にもいい
つまりおまえらはアマチュア同人作家以下のとんでもなくくっさいゴミむしのキチガイがはいたゲロを
食べて生きている下等生物以下のミジンコの卵
さっさとクソしてしね
0706デフォルトの名無しさん
2010/08/24(火) 21:42:01面倒臭がってたら何も産み出せない
0707デフォルトの名無しさん
2010/08/24(火) 22:27:430708デフォルトの名無しさん
2010/08/24(火) 22:29:290709695
2010/08/24(火) 22:52:51これは、俺になりすました人です
迷惑かけてごめんなさい
0710デフォルトの名無しさん
2010/08/24(火) 23:29:33下手な根気は誤った方向へ延々とハマるという場合もある。
適度に「これめんどくせ〜、もっといい方法無いかな?」というのも必要。
0711デフォルトの名無しさん
2010/08/24(火) 23:35:25いい方法ばかり探しすぎて何をすればいいのかわからなくなって何もできないのがお前
0712デフォルトの名無しさん
2010/08/25(水) 02:16:33自己紹介乙としか
0713デフォルトの名無しさん
2010/08/25(水) 09:32:45「めんどうくさがり」ってのはプログラマーに必ず必要な資質
0714デフォルトの名無しさん
2010/08/25(水) 09:38:190715デフォルトの名無しさん
2010/08/25(水) 09:54:02それは「めんどうくさがり」ではなく、ただの「なまけもの」だ。
一見そっくりだが大きな違いがあるので注意しよう。
0716デフォルトの名無しさん
2010/08/25(水) 10:11:240717デフォルトの名無しさん
2010/08/25(水) 10:14:050718デフォルトの名無しさん
2010/08/25(水) 10:16:230719デフォルトの名無しさん
2010/08/25(水) 10:20:420720デフォルトの名無しさん
2010/08/25(水) 10:22:490721デフォルトの名無しさん
2010/08/25(水) 10:27:58めんどくさがらずにめんどくさがる。
0722デフォルトの名無しさん
2010/08/25(水) 10:31:29改善したがりという資質だ
0723デフォルトの名無しさん
2010/08/25(水) 10:47:110724デフォルトの名無しさん
2010/08/25(水) 10:53:500725デフォルトの名無しさん
2010/08/25(水) 12:05:04じゃあ、めんどくさいから他人に仕事を押し付ける人はめんどくさがり?
0726デフォルトの名無しさん
2010/08/25(水) 12:11:19GPUを利用したPCベースのソフトウェアルータで40Gbpsを達成
http://shader.kaist.edu/packetshader/
これからはネットワークプログラミングもGPGPUの時代ですよ!
0727デフォルトの名無しさん
2010/08/25(水) 12:13:24元々GPU自体は画像処理のための物だし、
CPUが超並列化してくれる方が正統だと思うんだけどなぁ。
0728デフォルトの名無しさん
2010/08/25(水) 13:51:360729デフォルトの名無しさん
2010/08/25(水) 16:05:03今ではHTML5で遊んでる。
0730デフォルトの名無しさん
2010/08/26(木) 13:09:27HttpWebRequestでやって見ましたがCookie関連の動作がうまくいきませんでした
例えばYahooにアクセスすると下のコードでは
こんにちは、○○○さん
となるのに対しHttpWebRequestだと
ログイン
になってしまいます
誰かお願いしますm(_ _)m
AfxParseURL(CString(uri), protocol, serverName, fileName, port);
CInternetSession session(L"HttpPost - simple http client");
CHttpConnection* conn = session.GetHttpConnection(serverName, port);
CHttpFile* file = conn->OpenRequest(
CHttpConnection::HTTP_VERB_GET, fileName,
NULL, 1, NULL, NULL, INTERNET_FLAG_RELOAD | INTERNET_FLAG_DONT_CACHE);
file->AddRequestHeaders("〜");
file->SendRequest();
0731デフォルトの名無しさん
2010/08/27(金) 01:45:23ttp://msdn.microsoft.com/query/dev10.query?appId=Dev10IDEF1&l=JA-JP&k=k%28SYSTEM.NET.SOCKETS.SOCKET.SHUTDOWN%29;k%28SHUTDOWN%29;k%28TargetFrameworkMoniker-%22.NETFRAMEWORK%2cVERSION%3dV4.0%22%29;k%28DevLang-CSHARP%29&rd=true
0732デフォルトの名無しさん
2010/08/27(金) 02:04:420733デフォルトの名無しさん
2010/09/04(土) 03:43:11でも、自分でサーバー側応答プログラムを書くのは面倒くさい。
こんなときに使えるらくちんツールって無い?
0734デフォルトの名無しさん
2010/09/04(土) 07:10:020735デフォルトの名無しさん
2010/09/04(土) 10:13:260736デフォルトの名無しさん
2010/09/04(土) 10:54:20inetdやxinetdを使う
0737デフォルトの名無しさん
2010/09/10(金) 19:34:010738デフォルトの名無しさん
2010/09/10(金) 21:10:360739デフォルトの名無しさん
2010/09/11(土) 00:50:060740デフォルトの名無しさん
2010/09/14(火) 11:31:53プロトコルがテキストならnetcatとか。
0741デフォルトの名無しさん
2010/09/14(火) 22:08:380742デフォルトの名無しさん
2010/09/18(土) 00:31:53採用時に資格は一切評価しないといった建前も世間ではよく耳にしますが、折角の機会ですから本当の事を言います。評価します。マイナスの評価です。
仕事に就いていないのに資格の取得などに時間を浪費していたという事実は、少なくとも一分一秒を争う企業活動への参加を目指すなら、悪です。
学生時代のいまから時間の使い方をしっかり意識して生活してください。
社会に出れば仕事を覚えるために学生時代の10倍も20倍もハードな勉強が求められます。
もちろん必要な資格があればその中で取得します。しかしその学習量は社会人が仕事の中で日々習得する知識量のうちのほんのごく一部に過ぎません。
学生が資格の勉強に貴重な時間を費やすのは、子供が折角もらったお年玉を老後の生活資金に貯めておくようなものです。
子供のお小遣いと大人の生活費では一円の重みが違います。同様に、学生と経験を積んだ社会人とでは同じ一時間でも脳の仕事量が全く違うのです。
0743デフォルトの名無しさん
2010/09/18(土) 01:36:560744デフォルトの名無しさん
2010/09/18(土) 04:37:530745デフォルトの名無しさん
2010/09/18(土) 10:07:03お前ニートだろ?w
0746デフォルトの名無しさん
2010/09/18(土) 10:41:320747デフォルトの名無しさん
2010/09/18(土) 10:50:39俺天才プログラマだけどなに?
0748デフォルトの名無しさん
2010/09/18(土) 11:00:550749デフォルトの名無しさん
2010/09/18(土) 11:06:260750デフォルトの名無しさん
2010/09/18(土) 11:08:490751デフォルトの名無しさん
2010/09/18(土) 11:11:07あんま迷惑かけるなよ
0752デフォルトの名無しさん
2010/09/18(土) 11:12:090753デフォルトの名無しさん
2010/09/18(土) 13:42:42テーブルゲーム系ならいいんじゃね?
0754デフォルトの名無しさん
2010/09/29(水) 22:47:12ツールを終了してもパケットの送信が止まらずに困っています。
パソコンを再起動しても止まりません。
どなたか解決方法を知りませんか?
■ このスレッドは過去ログ倉庫に格納されています