ネットワークプログラミング相談室 Port26
レス数が1000を超えています。これ以上書き込みはできません。
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/
0951デフォルトの名無しさん
2010/12/06(月) 02:09:37おおざっぱに思いつくのは以下
0. アクティブな(またはアクティブにできる)インターフェースが存在する
ローカルなアクセスは可能かもしれない
1. default route が存在する
外部に接続されているかもしれない
2. DNS サーバにアクセスできる
外部に接続されているかもしれない
3. DNS で外部のアドレスが引ける
ゲートウェイが生きていれば外部に接続可能かも知れない
4. DNS で引いた任意のアドレスにアクセス可能
proxy経由かも知れないが外部にアクセス可能
5. 目的のサイトにアクセスしてみる
運が良ければ目的のサイトが生きていてアップデート情報を取得可能
てなわけで, アクセスしてみるまでは無理
0952デフォルトの名無しさん
2010/12/08(水) 16:59:090953940
2010/12/12(日) 23:06:03>>941
>>942
>>946
>>949
>>950
>>951
>>952
皆様、どうもありがとうございます。
貴重なご意見を参考に次のようにしました。
(1)自動的にアップデートを行うかどうかは、
設定で利用者に選んでもらう。
(2)アップデートの問い合わせをして
繋がらなかったら、タイムアウトして
処理を終了する。
本当に助かりました。ありがとうございます。
0954デフォルトの名無しさん
2010/12/12(日) 23:55:24大抵はカオスになるんだけど。
0955デフォルトの名無しさん
2010/12/15(水) 17:07:420956デフォルトの名無しさん
2010/12/16(木) 08:42:04たとえば?
0957デフォルトの名無しさん
2010/12/16(木) 10:20:07NAT
0958デフォルトの名無しさん
2010/12/16(木) 12:50:59インターネットじゃなくてインターツリーだお
0959デフォルトの名無しさん
2010/12/17(金) 17:20:39バランサとかファイヤウォールも昔は無かった。
0960デフォルトの名無しさん
2010/12/17(金) 23:53:55「internet は network と network をつないだものだ」と 30年近く信じきってたんだが
provider の持っている network は network じゃないのか?
0961デフォルトの名無しさん
2010/12/18(土) 00:07:250962デフォルトの名無しさん
2010/12/18(土) 00:39:290963デフォルトの名無しさん
2010/12/19(日) 14:17:260964デフォルトの名無しさん
2010/12/20(月) 00:50:21接続してきたクライアントの情報と送信してきたメッセージを
プロンプトに表示させる簡単なサーバはできたんですが、
これを複数のクライアントからの同時接続に対応させるにはどうすればいいのですか?
今は一つのクライアントがつないだら、そいつを切断するまで他のクライアントから
送信したメッセージが画面に表示されません。
コード的にはwhileループの中でrecvを繰り返してるような感じです。
抽象的な表現でも構わないので、何かアドバイス下さい。
0965デフォルトの名無しさん
2010/12/20(月) 01:02:290966デフォルトの名無しさん
2010/12/20(月) 01:04:38ソケット毎にスレッド起こすかポーリングでグルグル
0967デフォルトの名無しさん
2010/12/20(月) 01:07:48スレッド起こす方法でやってみようと思うのですが、
そのスレッドの数はlisten関数の第二引数で指定した数まで
という認識でよろしいでしょうか?
0968デフォルトの名無しさん
2010/12/20(月) 06:49:46いいえ。必要な数だけ。
0969デフォルトの名無しさん
2010/12/20(月) 07:43:21ではlisten関数の第二引数はどういうときに影響してくるのでしょうか?
それとポーリングについてですが、
この言葉自体昨日知ったのですが、クライアント側にデータを送信したいものが
ないか問い合わせをすることだそうですね。
イメージとしてはループの中で、acceptで接続を待ち続けて、
ソケットが作成されたら、一定量のデータを受信し、
以降は作成されたソケットに対して、データが受信し終わるまで
recvしまくるといった感じでしょうか?
あと、winsockを勉強するうえで、良いサイトがあったら教えて下さい。
0970デフォルトの名無しさん
2010/12/20(月) 09:31:15ポーリングについて
接続中のソケットにデーターが到着してるかどうかをチェック
入ってたら、入ってる分だけ受信して処理ルーチンをコール
戻ってきたらループ
0971デフォルトの名無しさん
2010/12/20(月) 10:21:18とりあえず、>>1くらい読んだ上で質問してるんだろうな?
0972デフォルトの名無しさん
2010/12/20(月) 12:16:140973デフォルトの名無しさん
2010/12/22(水) 08:49:06tcp/ip通信をしています。
呼び出すとしたら、サーバ側はサーバのソケットとクライアントのソケット両方に
対して、呼び出せばいいのですか?
逆にクライアント側はサーバのソケットのみしか作らないのでサーバのソケットのみに対して
呼び出せばいいのですか?
お願いします。
0974デフォルトの名無しさん
2010/12/22(水) 09:10:290975デフォルトの名無しさん
2010/12/22(水) 09:18:22ありがとうございます。
個別操作というのは具体的にどういうことを言うのでしょうか?
0976デフォルトの名無しさん
2010/12/22(水) 10:33:54それがわからんうちは必要ないってことだ
0977デフォルトの名無しさん
2010/12/22(水) 12:09:59わかりました。ありがとうございました。
0978デフォルトの名無しさん
2010/12/23(木) 07:07:11どういう時に影響してくるのかよくわからんのだが。
0979デフォルトの名無しさん
2010/12/23(木) 07:33:01下の例で何かの処理を行っている間に待たせておけるconnection要求数
listen(sock, backlog);
for (;;) {
conn = accept(sock, ...);
/* 何かの処理 */
}
処理系によって扱いが微妙に異なる
winskockは以下, unix系は man listen しれ
http://msdn.microsoft.com/en-us/library/ms739168%28v=VS.85%29.aspx
0980デフォルトの名無しさん
2010/12/23(木) 08:04:24よく分かりました!本当にありがとうございます!
0981デフォルトの名無しさん
2010/12/23(木) 08:29:140982デフォルトの名無しさん
2010/12/23(木) 14:26:010983デフォルトの名無しさん
2010/12/23(木) 19:04:160984デフォルトの名無しさん
2010/12/23(木) 22:23:35これが、第二引数で制御不可能な理由。
0985デフォルトの名無しさん
2010/12/24(金) 00:03:240986デフォルトの名無しさん
2010/12/24(金) 00:19:58widows の実装はしらんが unix 系は SYN flood だと破断するまでは
それなりに有効に動作しているように見えるが
0987デフォルトの名無しさん
2010/12/24(金) 03:03:450988デフォルトの名無しさん
2010/12/24(金) 08:10:190にした時に2つ目以降のコネクション要求に対してrst返ってくる?
0989デフォルトの名無しさん
2010/12/24(金) 13:06:390990デフォルトの名無しさん
2010/12/24(金) 18:26:35サーバ終了時にサーバのソケットさえクローズしてしまえば、
クライアント側から通信できないと思うんですが、
クライアント側のソケットってclosesocketする必要あるんですか?
0991デフォルトの名無しさん
2010/12/24(金) 18:30:53開いたら閉じる
ちゃんと後始末しないとメモリリークするが、それでもいいなら
0992デフォルトの名無しさん
2010/12/24(金) 18:32:280993デフォルトの名無しさん
2010/12/24(金) 18:38:36ただ単に切断するだけなら、両方閉じるようにします。
すばやい回答ありがとうございました。
0994デフォルトの名無しさん
2010/12/25(土) 03:40:550995デフォルトの名無しさん
2010/12/25(土) 06:26:550996デフォルトの名無しさん
2010/12/25(土) 10:47:450997デフォルトの名無しさん
2010/12/25(土) 19:15:09改行文字チェック?
0998デフォルトの名無しさん
2010/12/25(土) 19:15:580999デフォルトの名無しさん
2010/12/25(土) 19:24:241000デフォルトの名無しさん
2010/12/25(土) 20:14:2910011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。