ネットワークプログラ ..
529:520
08/10/02 11:48:38
>>524 >>527-528
ご教授ありがとうございます。
クライアントとしては、リクエストヘッダに Connection: Keep-Alive と書くだけで良いんですね。
後はサーバ側が Keep-Alive を許可(対応?)していれば、接続を維持してくれるのかな??
テスト環境が無いので、動作確認をし辛い部分があります。
Content-Length と Transfer-Encoding: chunked の処置は既にしてるので、
今の所の問題点はConnection: Keep-Alive と、別件ですが Content-Encoding の解凍です。
gzip とか deflete のRFC見てみたんですけど分からなくて・・・。
圧縮・解凍処理も勉強せんと。
色々ありがとうございます。
530:デフォルトの名無しさん
08/10/02 11:48:46
というか、文体変わってるけど520って・・・
531:デフォルトの名無しさん
08/10/02 11:54:23
別に同一人物でもいいよ、荒れさえしなければ
圧縮解凍処理は zlib に任せるのが楽なんじゃないかな
どうでもいいけど、そこまで色々対応していて簡易クライアントと呼べるのだろうか
532:デフォルトの名無しさん
08/10/02 11:58:32
>>530
別に変わってなくね?
言われたことにも素直に答えてるし、前々スレぐらいからバカが一匹いたから>>530に変なフィルタかかったんじゃね?
533:デフォルトの名無しさん
08/10/02 12:55:37
面倒なら HTTP_ACCEPT_ENCODING で好きなものだけ指定すれば良いんじゃないかな
534:デフォルトの名無しさん
08/10/03 14:08:22
>>530
日本の品格を著しく下げている在日チョンや
在日チャンコロの排斥が必要なのは言うまでもないでしょう。
まずは東京から。石原閣下に期待です。
前述した残業代を要求して裁判を起こしたりしているのも、
ほとんどはその手の輩ですしね。
日本の国際競争力を低下させようと工作しているんでしょう。
535:デフォルトの名無しさん
08/10/03 17:31:08
HTTP/1.1のクライアントはきちんと実装しようとするとやることたくさんあるからなぁ。
しかも変な応答返すサーバ多いからテストも大変だし。
536:デフォルトの名無しさん
08/10/03 19:25:38
Windows環境でテスト用FTP鯖建てるなら、いまなら何がお勧めですか?
537:デフォルトの名無しさん
08/10/03 19:36:49
>>536
スレ違い
538:デフォルトの名無しさん
08/10/03 19:36:56
Windowsで動かすなら、IISでいいんじゃないの?
539:デフォルトの名無しさん
08/10/03 19:37:47
>>536
むしろ板チガイ
540:デフォルトの名無しさん
08/10/03 21:12:18
URLリンク(ytteter.so.land.to)
541:デフォルトの名無しさん
08/10/03 21:39:31
このスレが荒れるのは、アホな奴のせいじゃなくてかまう奴のせいだと今はっきりわかった
542:デフォルトの名無しさん
08/10/04 00:33:26
VBのコードをC#コードに変換してくれるツールを見てきたんだけど
見つけた2つとも英語表記で使い方がさっぱりわかりません
日本語化したものか日本製のツール
VB→C# コード変換ツールお勧め教えてください
543:デフォルトの名無しさん
08/10/04 00:41:32
>>542
>>537
544:デフォルトの名無しさん
08/10/04 01:05:02
>>543
他で聞いてみます
545:デフォルトの名無しさん
08/10/04 07:55:10
ここ一週間のうちに香ばしいのが来てたんだな
参加できなくて残念
自分でやるより人にやらせたほうが楽だと気づいたらもう駄目だな
546:デフォルトの名無しさん
08/10/04 09:15:44
おいおい
人にやらせたほうが楽だろ
547:デフォルトの名無しさん
08/10/04 09:18:22
TCPで通信する場合サーバー側のみポートが開いていれば双方向で通信が可能だと思うのですが
UDPで双方向通信する場合、両方のポートが開いていないと駄目なのでしょうか?
548:デフォルトの名無しさん
08/10/04 09:27:55
>>546
人にやらせるには金か権力あるいは両方が必要だからな
それがないから2chなんかで頼みごとするんだろ?
549:デフォルトの名無しさん
08/10/04 14:30:42
>>547
まずは使ってみようよ
550:デフォルトの名無しさん
08/10/04 14:37:41
>>547
TCPもサーバとクライアントのポートが開いてないと通信できません。
25番や80番ポートは通信待受け用に使うだけで、
通信用に別にソケットを作成してる。
551:デフォルトの名無しさん
08/10/04 14:55:41
うろ覚えなんだが、サーバ側はAccept時にソケットを新しく作るけど、
実際に通信を受信するポートは25番なり80番なりでないっけか?
552:デフォルトの名無しさん
08/10/04 16:10:55
TCPの場合、acceptとconnect時に双方の開いてるポートを指定していないと繋がらない
UDPの場合、sendtoで送るときに相手の開いてるポートを指定しないとデータが送れないということでしょうか?
また、LAN内で通信テストをしているのですが、ポートの解放とか関係なく動作してしまうのですが
通信のプログラムをテストする場合はネット回線2つ持たないと駄目なんでしょうか?
553:デフォルトの名無しさん
08/10/04 16:54:38
TCPもUDPも、送信先のポートは80とか自分で指定するけど、
送信元のポートも指定してないだけで自動的にランダムで割り当てられてるんだよ
ポート解放がどうのというのは、ルータやファイアウォールに遮断されて
繋がらない場合の話じゃないの?
554:デフォルトの名無しさん
08/10/04 17:45:30
>>552
なんだかなあ
その辺りはソケットの入門書か何かに書いてないか?
555:デフォルトの名無しさん
08/10/04 18:05:23
入門書読むより質問したほうが早いじゃないですか
556:デフォルトの名無しさん
08/10/04 18:37:34
ぱぱとままにきけ
557:デフォルトの名無しさん
08/10/04 19:07:26
ぱぱ:お前にはまだ早い、大人になってからだ。
558:デフォルトの名無しさん
08/10/04 19:43:12
>>325
>>358
電話・コンビニ支払い・ibm・中国・大リニューアルってことはこれしかないんだけど
チケットの転売ってそんなに儲かる商売なの?
【システム】ぴあ、新チケット発券システムを中国で低コスト開発→トラブル続出→顧客離れ→経営不振→凸版と提携
URLリンク(unkar.jp)
>ぴあが来年1月に稼働する次期チケット発券システム。年間4600万枚の発券を処
>理する巨大システムの開発を支えたのは、180人の中国人SEだ。
>開発に着手した2005年当時、2期連続の最終赤字だったぴあは開発費を抑える
>ため「中国人SEの活用を前提にシステム開発会社を選んだ」(長島靖弘上級執行
>役員)。結果、中国のソフト開発大手、方正集団(北京市)と組んだIIJテクノロジー
>が受注した。ぴあは開発費を2ー3割節約したとみられる。
559:デフォルトの名無しさん
08/10/04 20:18:07
c言語でメーラー作ってみたいんですが
いい解説サイトありませんか?
560:デフォルトの名無しさん
08/10/04 20:19:43
RFCだろ
常識的に考えて
561:デフォルトの名無しさん
08/10/04 20:28:52
思いつくのがsmtpとpop3くらいしかないんですが
これ以外でも読んだほうがところはありますか?
562:デフォルトの名無しさん
08/10/04 21:47:05
あるが、そんなレベルの奴が作るな
サーバへ迷惑かけるだけだ
563:デフォルトの名無しさん
08/10/04 22:08:12
>>558のリンク先に
>転売屋にあっさりと攻略された新システム
って書いてあったよw
564:デフォルトの名無しさん
08/10/05 00:13:57
>>115と同等のソースってことなので>>454をC#でやってみた
嘘つくなって言ってたのにやっぱり嘘つきか
なんで勝手にHTMLソースなんか受信してんの?
アホか
>>115って何言語なんだ
>>115と本当に同等のサンプルC#かVBでないの?
だれかhttpリクエストお願いします
最終的にリクエストの編集加工をスクリプトで行いたいです
よろしく
565:デフォルトの名無しさん
08/10/05 00:16:55
だいたい>>115のページにしたって
解説者のうぬぼれ自己満足ページだよな
何言語かもわかんないんだから
ページのどこかに○○言語サンプルくらい書いておけばいいのに
よく役にも立たないページを出してきたなw
何語かもわかんないくだらないページだ
566:デフォルトの名無しさん
08/10/05 00:20:47
>>454をC#でやってみたら
HTMLのボディ部分の最後が出てきた
httpリクエストのヘッダとメッセージはどこいったんだ
いきなりhtmlがでるわけないだろ
>>115とおんなじならヘッダの編集もできるんじゃないの?
嘘つきは解答者やめろ
わかるかただけお願いします
httpリクエストのボディとhtmlのボディをごっちゃにしてる変なのは答えるな
レスすんなよ
567:デフォルトの名無しさん
08/10/05 00:23:05
だいたいhttpの簡易クライアントまでなら探せばある
ただしリクエストの編集とかは出来ないんだ
だから編集できるサンプルさがしてんのに
また無駄な時間が過ぎてった
アホは解答すんな
568:デフォルトの名無しさん
08/10/05 00:24:30
ホントここのえらいさんには振り回されっぱなしだよ
勘違いもいいとこ
569:デフォルトの名無しさん
08/10/05 05:27:47
何の対価もなしに自分の要求に応えないのはけしからんとわめいているのは実に滑稽
まるで朝鮮人のようだ
570:デフォルトの名無しさん
08/10/05 07:30:12
最近、こういう粘着教えて厨とGPL関係の奴等には
何の情報も提供しないように気を付けてる
571:デフォルトの名無しさん
08/10/05 07:37:20
>>569
反応すんな以後徹底スルーの事
572:デフォルトの名無しさん
08/10/05 07:50:29
>>564
どうしてここまで応用が効かないのかと不憫で仕方ない。
URLリンク(msdn.microsoft.com)(VS.80).aspx
573:デフォルトの名無しさん
08/10/05 08:48:01
>>572
>>571
574:デフォルトの名無しさん
08/10/05 18:07:10
>>572
親切が常に最善とは限らないぜ?
575:デフォルトの名無しさん
08/10/05 18:38:53
精神年齢が7歳以上でないときちんと掲示板を使うのは難しく、
電波法によりインターネットを使用できる精神年齢が定められています。
精神年齢が肉体年齢に追いてけぼりを食らってる人は
一度チュパカブラや銀バエを経験してから人間をやり直してください。
576:デフォルトの名無しさん
08/10/05 22:35:29
ちゃんとC#で実行できたところに感心したw
577:デフォルトの名無しさん
08/10/05 22:38:21
>>115はどう見てもC言語だろ
578:デフォルトの名無しさん
08/10/06 00:17:33
#include<stdio.h>でわからないとは・・・
579:デフォルトの名無しさん
08/10/06 00:24:34
何言語か書いていないとわからないよ
ソース見てわかるくらいなら解説ページなんて見ない
自己満足のオナニーページ認定
580:デフォルトの名無しさん
08/10/06 00:31:00
それ、野球のカーブの投げ方とかの解説ページ見て
「グローブって何だよ!バットって何?書いてないとわからないよ」
と言ってるのと同じようなレベルだぞ
581:デフォルトの名無しさん
08/10/06 00:39:49
>>580
なんて言われても実際わかんない人がいてるのは現実。
誰もが知ってる常識だと一方的に決め付けるのはどうなんだか
プログラムなんて見てわかる人のほうが少ないよ
1億2千万人のうちC言語だとわかる人は何人いてるんだろうか?
誰でも知ってるっていうからには半分以上の人が知っているとでも思ってんのかな?
グローブやバットは半分以上の人が知ってるだろうけどねwww
582:デフォルトの名無しさん
08/10/06 00:42:23
普通あのソース見て、Cだと気づかないようなレベルの奴は
この板見ないし、ましてこんなスレも除かない
そして、WinSockの解説ページなんか絶対開かないw
583:デフォルトの名無しさん
08/10/06 00:51:30
>>582
>>571
584:デフォルトの名無しさん
08/10/06 00:52:25
見てわかんない人は普通以下ってことでいいよ
どこからが普通なのかわかんないけどね
敷居高いですね
585:デフォルトの名無しさん
08/10/06 00:54:04
>>583
私だとバレてたのか^^
まぁそう言わずに仲良くしよう
これからも応援よろしく^^
586:デフォルトの名無しさん
08/10/06 00:54:57
ネットワークプログラミングってのは敷居高いよ
587:デフォルトの名無しさん
08/10/06 01:18:28
だーかーらー知能障害の相手すんなって言ってるでしょうよ
どうしてそうどいつもこいつも子供なんだよw
スレ潰したいのかお前ら
588:ひとりごと
08/10/06 01:24:07
独り言。
引用 URLリンク(www.geocities.jp)
> さて、このテキストを読む対象となる人は、
> 1.C言語をある程度理解できる方
> 2.MicroSoft Visual C 6.0 以上をお持ちの方
ほぅ、C 言語とな。
589:デフォルトの名無しさん
08/10/06 05:48:36
>グローブやバットは半分以上の人が知ってるだろうけどねwww
なんだ、自慢の息子とおいなりさんのことか
_、_
ヽ( ,_ノ`)ノ
へノ /
ω ノ
∪ >
590:デフォルトの名無しさん
08/10/06 08:19:21
外人とビジネス交渉したいからといって、英語のビジネス例文集を教えてもらったは良いが
それが英語なのかスペイン語なのかわからなくて癇癪おこしている楽しいやつがいると聞いてやってきました
591:デフォルトの名無しさん
08/10/06 10:46:34
ここ数日間のバカはどう見ても釣りだよな?
592:デフォルトの名無しさん
08/10/06 14:38:16
釣りじゃないだろ
金が絡んで頭が逝っちゃってる
593:デフォルトの名無しさん
08/10/06 23:30:49
質問です。
winsockで複数のスレッドから排他制御なしに同じソケットに対してsendを呼び出すと問題ありますか?
594:デフォルトの名無しさん
08/10/06 23:36:59
やってみろ、アホ
595:デフォルトの名無しさん
08/10/06 23:43:28
>>593
NTのAPIはスレッドセーフだからAPIは正しく動作するだろうけど、各スレッドの動作順が不明だから思い通りにはならないぞ。
596:デフォルトの名無しさん
08/10/06 23:44:49
やってみたけど特に問題は起こりませんでした。
たまたま問題が起きてないだけなのか、本当に問題がないのか、アホだから分かりません。
597:デフォルトの名無しさん
08/10/06 23:48:10
>>595
サンクスです。
どっちが先に呼ばれても問題はないです。
598:デフォルトの名無しさん
08/10/07 01:03:21
WinSock(TCP)で相手が最初にパスワードを送ってきて
合っていれば送信、間違っていれば切断というのをやっています
パスワードをチェックして間違っていると判定したときに、
接続相手に間違ってる旨のメッセージを送った後にシャットダウンしてクローズしているのですが
シャットダウンが早すぎるらしく、相手にメッセージが届く前にRCV=0になってしまいます
応急処置として1秒ほど待機させてからシャットダウンしていますが、
相手へのSENDが完了するまで待機する方法はないでしょうか?
599:デフォルトの名無しさん
08/10/07 07:29:27
>>597
TCPの話だよね?
どちらが先に呼ばれても問題ないってどいう状況?
送信データが全て1バイト単位で意味を成す場合しか思いつかない。
600:デフォルトの名無しさん
08/10/07 07:32:20
write( fd, WRONG_PASSWORD)
shutdown(fd, SD_WRITE)
while( read(fd, buf) != 0 )
close(fd)
みたいなコードで、close(fd)するときに、
相手にメッセージが届いてない事があるって話?
601:デフォルトの名無しさん
08/10/07 07:33:00
あ、while行の最後にセミコロン忘れた
602:デフォルトの名無しさん
08/10/07 07:38:53
>>599
それから察するに、数バイトまとめて送ったとしても
そのデータが混ざり合う可能性があるってこと?
603:デフォルトの名無しさん
08/10/07 12:11:39
>>602
そうならないと明記されていればいいんだが
見たことないや
604:デフォルトの名無しさん
08/10/07 12:43:11
>>600の方法で解決しないなら、相手側も疑ったほうがいいんじゃないか。
エラーのレスを受け取る側が切断かけたほうがすっきりすると思うよ。
605:デフォルトの名無しさん
08/10/07 12:45:41
>>602
APIで渡した順に送られる。混ざることはない。
複数スレッドでひとつのソケットに書き込むと、渡す順序を制御できない。
606:デフォルトの名無しさん
08/10/07 14:46:38
>>604
本人じゃないけど、同じことで悩んだことがあるので便乗質問
>>600の方法って、shutdownすると「通信相手がclose関数を呼ばなくても」近いうちにreadが0返すようになるんでしょうか?
エラーレスをうける側(上記でいう通信相手)が意図的にケーブルぶっこぬくこともあり得るので、通信相手のcloseを期待したくないところ。
607:デフォルトの名無しさん
08/10/07 16:31:11
>>602
数バイトをまとめてsendしたとしても、一度に全てを送れる保証はないから、
sendの戻り値をチェックしながらループまわすことになる。
そうするとデータが混ざり合う可能性があるんじゃないかな。
608:593
08/10/07 20:17:08
>>607
確かにそのとおりだ。
送れた部分と送れなかった部分の隙間に一方のスレッドのデータが入り込むことがありますね。
ありがとうございました。
609:598
08/10/07 23:06:19
>>600
writeとreadってのがよくわからんのですが
sendとrecvみたいなものですか?
fdはSocketですよね?
610:デフォルトの名無しさん
08/10/08 06:07:58
>606
答えはNO。というか、相手から(close/shutdownして)FINが
届く以外で、readが0を返す事はないはず。
タイムアウトを掛けたいなら、SO_RCVTIMEO設定して-1を見るとか
selectで待つとか別の仕組みを混ぜる必要がある
どっちにしろ、600のコードはreadのエラー処理をする必要があるけど
611:デフォルトの名無しさん
08/10/08 06:53:04
>609
そうだね。まあ、概念コードだから。
Winsock系とBSD系が変な感じで混ざっててゴメンよ
612:デフォルトの名無しさん
08/10/09 19:04:59
>>611
どうやらShutdownで読書両方とも落とすのが問題だったみたいです
しかしrecvだと、実行時にスレッドがブロッキングされてしまうのです
613:デフォルトの名無しさん
08/10/09 22:38:54
>相手へのSENDが完了するまで待機する方法
なんでしょ? 待ちたいの?待ちたくないの?
614:デフォルトの名無しさん
08/10/10 14:40:57
プロトコルメソッドってどういう意味?
615:デフォルトの名無しさん
08/10/10 20:37:32
文字通り
616:デフォルトの名無しさん
08/10/13 02:36:08
telnetなんですけど
画像とか見れるんですか?
コマンドラインの操作だと聞いたことがあるんですけど
テキストでの交信だけでしょうか?
画像を見るには特別な知識や技術は必要ないですか?
よろしくお願いします
617:デフォルトの名無しさん
08/10/13 02:46:28
困ったちゃん登場
618:デフォルトの名無しさん
08/10/13 02:52:11
アスキーアートを画像と思えば・・・!
619:デフォルトの名無しさん
08/10/13 03:24:26
banner
620:デフォルトの名無しさん
08/10/13 10:55:48
バイナリデータをバイナリエディタにコピーして保存
で分かってくれる相手なのかこれは
621:デフォルトの名無しさん
08/10/13 12:57:43
あれ? なんか mplayer -vo aa がいつの間にか変なコンソール開くようになってる…
622:デフォルトの名無しさん
08/10/13 13:27:03
telnetでヤフートップページや動画のyoutubeやニコニコ動画は見れますか?
623:デフォルトの名無しさん
08/10/13 13:35:26
ソースは見える
624:デフォルトの名無しさん
08/10/13 17:05:41
telnetで写真や動画は見れないですか?
625:デフォルトの名無しさん
08/10/13 17:40:55
写真や動画は圧縮されていますので
あなたの脳内演算でその圧縮を展開できるのなら見れるかもしれませんが
626:デフォルトの名無しさん
08/10/13 18:19:07
圧縮されていないものもあるので、符号化とするべきかな。
627:デフォルトの名無しさん
08/10/14 15:23:52
こんちわ
多重ログイン規制のサイトに多重ログインする方法教えてください
匿名串だめでした
他になんかない?
628:デフォルトの名無しさん
08/10/14 16:06:41
どのサイト?
629:デフォルトの名無しさん
08/10/14 19:43:54
>>627
スレ違いじゃ?
630:デフォルトの名無しさん
08/10/14 20:03:19
>>627です
>>628さん
気にかけてくれてくれてありがと
そのサイトを教えるかはちょっと考えてみるよ
>>629
自分的にはここだと思ったんですけど
他に適所があれば誘導お願いします
誘導が無い場合は引き続きこちらで解答待ちします
よろしく
631:デフォルトの名無しさん
08/10/14 20:04:20
スレ違い。
適切なスレは自分で探せ、アホ。
632:デフォルトの名無しさん
08/10/14 20:06:25
それはプログラミングに関する相談?
規制を回避して多重ログインするようなプログラムを自分で開発したいからヒントをくれということ?
633:デフォルトの名無しさん
08/10/14 20:48:29
>>631
アホは余計だろ
死ねやカス!
634:デフォルトの名無しさん
08/10/14 21:02:32
>>627
そのサイトの管理者に聞けばいいよ。
635:デフォルトの名無しさん
08/10/14 21:06:15
マルチホームとポリシールーティングで解決
636:デフォルトの名無しさん
08/10/14 21:29:47
>>634
お前ほんとくだらない奴だな
死ねよ
親も喜ぶだろ
637:デフォルトの名無しさん
08/10/14 21:31:53
>>627
またお前か
たとえ5年かけたところで無理だからやめとけ
一生かかってもできないかもしれない
株かデイトレードかそういうもんで稼ぎたいようだが
素直にアルバイトしたほうがいいぞ
できないことにいつまでも固執するのは愚かなことだ
638:デフォルトの名無しさん
08/10/14 21:34:48
以降スルーでOK
639:デフォルトの名無しさん
08/10/14 23:17:59
>>637
あと少しってところだと思うんだ
2年かけてわかったこと
自分がゴールにしていた地点は他の連中からすれば初歩の初歩
全くのド素人のレベルだったんだ
がっくりきたけど
改めて次のゴール目指して頑張ってる
ちょっと自分には無理かなって諦めかけてたんだけど
さすがに2年間勉強した甲斐あって
今度は順調に進んでる
もう少しっていうか今でもテストの結果は満足できるものになってきた
でももう少しなんだ
応援ありがと^^
多重ログインの件は解決できそうです
ありがとでした
640:デフォルトの名無しさん
08/10/14 23:31:32
WinSock の inet_itoa はマルチバイトコードなのですがユニコード版はありませんか?
なかったとしてunicode to multibyte を使えばいいのですか?
641:デフォルトの名無しさん
08/10/14 23:40:43
WSAAddressToStringとかWSAStringToAddressとか
642:デフォルトの名無しさん
08/10/14 23:48:26
GetNameInfoWでも使えば。
まあ、そーゆーAPIのW版も、あったところで、
punycode解釈してくれるわけでもないんだけどネ。
643:デフォルトの名無しさん
08/10/16 02:18:55
WinSockのTCPで送信側にてsendを行った後に、受信側に確実にデータが届いたことを認知するためには、
下記のように受信側から応答信号を返してもらいそれを待つべきでしょうか。
<AからBへの送信の手順>
A側 B側
send --> recv データ
recv <-- send 応答
上記のような手順では、AとB両方から同時に送信を行った場合、
双方でデータ受信と応答受信がごちゃまぜになり混乱を招くようにも思いますが・・・。
644:デフォルトの名無しさん
08/10/16 08:03:51
sendするデータと応答信号にIDつけるようにして、一致を見ればよいのでは
>AとB両方から同時に送信を行った場合
キモいなあ
tcpを2本使うか、それがだめなら1本の中に多重化する仕組みをいれたほうが
いいと思うよ
あとA,B側それぞれの状態遷移をはっきりさせとかないと
そのうち発狂する予感
645:デフォルトの名無しさん
08/10/16 10:04:24
送信データと送信応答の識別子をヘッダに持たせれば?
コネクション一本で作れない人間が二本でなんとかなるとも思えんがね。
646:デフォルトの名無しさん
08/10/16 22:35:02
TCPなのにさらに応答確認するん?
647:デフォルトの名無しさん
08/10/16 22:51:59
は?
648:デフォルトの名無しさん
08/10/16 23:56:09
HTTP でも FTP でも上位レイヤーでみんなレスポンス返してるだろ!ボケがぁ
649:デフォルトの名無しさん
08/10/18 18:39:20
FTPにもHTTPにも643の言う意味での応答確認のレスポンスはないぜ?
HTTP:
c->s : データ寄越せ
s->c : おらよ。[データ]
c->s : ありがとうございます <= ここはないだろ
FTP:
c->s : データ寄越せ
s->c : おらよ。
s->c(2):[データ]
s->c : 終わったから。
c->s : ありがとうございます <= ここはないだろ
650:デフォルトの名無しさん
08/10/18 19:16:36
それマジレス?
651:デフォルトの名無しさん
08/10/18 19:23:01
はい
652:デフォルトの名無しさん
08/10/18 19:48:23
>>650
>>649はその通りだと思うが
653:デフォルトの名無しさん
08/10/18 20:51:05
HTTPって応答にデータが乗ってるだけじゃねぇの?
○ >>643
send → : データ送信
recv → : 正しく受け取りました
○ HTTP
c→s : データ送信(リクエスト)
s→c : 正しく受け取りました(レスポンス)
ってことだろ。
FTPは知らん。
654:デフォルトの名無しさん
08/10/18 20:56:15
>>643では省略されてるけど、Aのsendの前にBからデータ要求があるんだろ。
655:デフォルトの名無しさん
08/10/18 20:57:53
>>649
なぜデータを「送る」話でGETの例を出すんだ
656:デフォルトの名無しさん
08/10/18 21:43:06
>>655
サーバーがデータを「送る」からだろ
657:デフォルトの名無しさん
08/10/18 22:12:24
>>654
何話を勝手に変えてんだよ?
658:デフォルトの名無しさん
08/10/18 22:32:50
>>643出て来い!!
659:デフォルトの名無しさん
08/10/18 22:52:24
>>643のどこをどう読んだら曲解するのかわけわからん
660:デフォルトの名無しさん
08/10/19 01:32:58
まぁ結論、TCPなんだから送れば必ず届く。
661:デフォルトの名無しさん
08/10/19 11:22:41
>660
そんなわけねー。
TCPならケーブル抜いても届くのかよw
662:デフォルトの名無しさん
08/10/19 12:47:29
>>661
おまいには失望した
663:デフォルトの名無しさん
08/10/19 13:36:54
子供の屁理屈みたいw
地球崩壊しても届くのかよwみたいなw
664:デフォルトの名無しさん
08/10/19 14:14:20
送れば届くというよりかは、届いたものは正しい、という方がTCPを説明するには良いような
665:デフォルトの名無しさん
08/10/19 14:41:14
RSTでセッションが終了した場合以外は、送れば届く。
666:デフォルトの名無しさん
08/10/19 16:53:50
論理的に絶対届くって話になると
661みたいに物理的に切れたら無理だろといいたくなる気持ちもわかる
実際そうなんだからどうしようもない
667:デフォルトの名無しさん
08/10/19 17:20:55
エラーコード(RSTやタイムアウトなど)を調べるだけじゃダメなんだっけ?
668:デフォルトの名無しさん
08/10/19 18:16:00
こちらのTCP送信バッファが空になったら
相手のTCP受信バッファに届いたことは確か
相手プログラムが受け取れたか、
受け取れたとしてどのように処理したかはわからんけどね
669:デフォルトの名無しさん
08/10/19 21:26:27
いちいち送信バッファの内容チェックするのかよw
670:デフォルトの名無しさん
08/10/20 04:21:15
>>669
>>668
671:デフォルトの名無しさん
08/10/20 09:14:39
送信バッファが空になったかどうかなんて、確認する術あたっけ?
672:デフォルトの名無しさん
08/10/20 09:32:32
教えてください
Ajaxで 受けて側のサーバーをCで作っています
Ajaxがら GETでデーターを取りに来るときに
Keep-Alive指定なのに新たなコネクションを張ってきます
この場合サーバー側ではコネクションは持続したままで
よろしいのでしょうか?
ブラウザ側の挙動として7個程度のコネクションでリクエストした
後に止まってしまいます。タイマーで次々とリクエストされてくるのを
期待しているのですが・・・
サーバー側では リクエストにKeep-Aliveがあると持続して
無いと、そのセッションはCloseで良いのですよね?
673:デフォルトの名無しさん
08/10/20 12:22:53
>>671
getsocjopt
だが、バッファを監視するようなプログラミングは避けるべき
674:デフォルトの名無しさん
08/10/20 12:23:42
>>673
○getsockopt
675:デフォルトの名無しさん
08/10/20 18:10:07
>671
SO_SNDBUFを0にしてブロッキングsendが戻ってきたとき
=相手からACKが戻ってきたとき
だったっけか。MSのTCP実装限定かもしらん
676:643
08/10/20 22:57:14
こんなにレスをいただいていたとは
なんかすみません。
>>654
B側はデータ要求をしません。
A側からはいつデータが送られてくるかはわかりません。
B側ではA側からの接続を待ち続け、データが来たらA側に応答を返します。
A側とB側両方が同じように機能するため、受信したものが
不定期に送られてきたデータか、自分が送ったデータに対する応答かを
判別する必要があります。
B側では受信データに埋めたIDから送信データか応答かを判別して処理しますが、
A・B双方向からほぼ同時に送信をすると、どちらかで応答を認知できなくなったりします。
応答は相手へのデータ受信を確認する他、相手にデータを送ってから届くまでの
大体の時間を得るために用います。(応答受信時間も含むためあくまで目安です)
結局は設計・コードに問題がありそうなので、再度検討しなおします。
本当にありがとうございました。
677:デフォルトの名無しさん
08/10/20 23:13:13
>>676
>B側はデータ要求をしません
>A側とB側両方が同じように機能するため
どっちだよw
678:デフォルトの名無しさん
08/10/21 00:09:24
メッセージの送受信と処理を行うのを別スレッドにすれば、両者が同じ立場のアプリでも
大丈夫な気がするけど。
679:デフォルトの名無しさん
08/10/22 12:57:02
質問です。
ディスクリプタを複数bindして、そのディスクリプタを
1つのselectに入れても良いのでしょうか?
Linux or Windows XP SP2
680:デフォルトの名無しさん
08/10/22 22:11:51
というかまさにそのための select じゃないん?
681:デフォルトの名無しさん
08/10/22 22:31:12
selectが保持するのはfile discripterだけじゃろ,なにが問題になると感じての質問なのかな?
682:デフォルトの名無しさん
08/10/23 03:33:15
>>679
poll お勧め。
683:デフォルトの名無しさん
08/10/23 03:44:34
epollお勧め
684:デフォルトの名無しさん
08/10/23 03:53:18
C:\>maki poll
'maki' は、内部コマンドまたは(ry
685:デフォルトの名無しさん
08/10/23 11:39:02
kqueueもお勧め
686:デフォルトの名無しさん
08/10/23 22:24:52
さげ
687:デフォルトの名無しさん
08/11/02 02:12:39
WinSockでTCP通信プログラム作っているのですが
自分のプログラムが転送したデータの転送量を計測しようと思ってます。
Send関数の返り値にヘッダサイズを足せばいいと思い
ヘッダサイズを色々調べてみたのですが
イーサネットヘッダ 14byte
FCS 4byte
IP 20〜60byte
TCP 20〜60byte
→計 58〜138byte
と、ばらついてしまうようです。
そこで質問なんですが、通信速度が表示されるP2Pソフト等は
適当な値で仮定して転送量を計測しているのでしょうか?
それとも何か便利な関数があるのでしょうか?
688:デフォルトの名無しさん
08/11/02 02:43:45
ヘッダなんか見る必要ないよ
何考えてんの
689:デフォルトの名無しさん
08/11/02 02:46:50
ヘッダの大きさも含めての転送量を知りたいんでしょ。
IPより低レイヤーだと環境によって変わると思うけどな。
690:デフォルトの名無しさん
08/11/02 03:52:04
ACKの回数なんて普通わからんべ
691:デフォルトの名無しさん
08/11/02 07:33:14
ヘッダまで考慮してカウントしないのでは
692:デフォルトの名無しさん
08/11/02 11:24:46
再送の回数なんて普通わからんべ
693:デフォルトの名無しさん
08/11/02 11:34:58
>>687
普通は実データのみに注目してヘッダなどのオーバーヘッドは無視だろう。
どうしてもヘッダを含めての転送量を知りたいなら、OSの統計機能を使うことになるかな。
694:デフォルトの名無しさん
08/11/02 13:22:14
UDP通信で質問します。
自分の作成したプログラムだと相手先がない場合、
sendtoの実行時に数秒間ブロックされてしまうのですが、
ping相当のコードは制御がすぐ戻ってきてブロックされないようです。
自分のコード
sd = socket(AF_INET, SOCK_DGRAM, 0);
sendto(sd, data data_size, 0, (struct sockaddr *)&to, sizeof(to));
ping相当のコード
sd = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP);
setsockopt(sd, IPPROTO_IP, IP_TTL, &ttl, sizeof(ttl));
sendto(sd, data, data_size, 0, (struct sockaddr*)&to, sizeof(to));
socketに渡すオプションとsetsockoptでTTL値を
設定してる以外は変わらないと思うのですが、
どの設定がブロックに影響しているのでしょうか?
自分のプログラムでも制御をすぐ返すようにしたいのですが、
複雑になりそうなので非同期にはしたくありません。
環境はXP SP2と linuxです。
695:デフォルトの名無しさん
08/11/02 14:22:35
非同期じゃないプログラムって趣味のプログラム?
696:デフォルトの名無しさん
08/11/02 14:50:04
>>688-693
普通はヘッダは考慮しないのですね
再送のことも考慮しだすとちょっと大変そうなので
実データのみで計測することにしました。
ありがとうございました。
697:デフォルトの名無しさん
08/11/02 14:52:45
>>694
名前解決やarpに時間がかかってるのかもしれないし、そこだけでは判断しかねる。
制御を直ぐに戻したいなら非同期のプログラミングは避けられないね。落ち着いてやれば難しくない。
非ブロッキングや重複I/Oを調べましょう。
698:デフォルトの名無しさん
08/11/02 15:37:03
これと同じ問題か
URLリンク(soudan1.biglobe.ne.jp)
699:デフォルトの名無しさん
08/11/02 17:58:20
とりあえずpingが通じてる間だけ通信することで回避できました。
非ブロッキングにしたい所ですが、送信バッファが
関数ローカルな箇所がいくつもあるので修正がちと大変です。
700:デフォルトの名無しさん
08/11/02 18:45:21
それは直したほうが楽だぞ。
C++のメンバ変数に移動させると楽だよ
701:デフォルトの名無しさん
08/11/02 21:30:52
重複IOならともかく、非ブロッキングIOなら、
送信バッファが関数ローカルでもOKだと思うけど。
702:700
08/11/02 22:49:20
>>701
そうだった、socketの非ブロッキングは関数ローカルが正解だった。
重複I/Oはバッファーを保持しなくてはならない。いつも重複I/O使ってるからごっちゃになってた。すまん
703:デフォルトの名無しさん
08/11/03 19:16:06
あ、そうなんですか。
呼び終わったら破棄していいんですね。
704:デフォルトの名無しさん
08/11/16 12:34:07
VC++でwinsock2.hをインクルードすると大量の二重DEFINEエラーが出るんだけど仕様なの?
BCCじゃ起きなかったのに
705:デフォルトの名無しさん
08/11/16 12:46:14
エスパー待ちだな
706:デフォルトの名無しさん
08/11/16 14:22:38
>>704
windows.h のincludeの前に
#define WIN32_LEAN_AND_MEAN
後死ね。
707:デフォルトの名無しさん
08/11/18 06:30:58
最近UDPのが楽なのに気付いた。
WinsockのFAQ書いた奴はヘタレ。
708:デフォルトの名無しさん
08/11/18 07:35:13
まあ、伝送単位が1KBとかでセキュリティとか
ルータ超える考慮とかも特に必要ないとなると、
UDPが楽ではあるよね
TCPはエラー発生ポイントが多くなるし。
709:デフォルトの名無しさん
08/11/18 12:03:57
ネットワークプログラミングを始めようと思ってるんだが
入門書でお勧めなのはどれだい?
ネットワーク以外のプログラミングなら自信あるぜ!
710:デフォルトの名無しさん
08/11/18 12:15:29
スティーヴンス本
>>3 の最初の
711:709
08/11/18 12:52:56
バカヤロー、どう考えてもビギナー向けじゃないぞ?!
でもかなり評価が高いみたいだな。知識ついたら読んでみるよ
で、入門書の話なんだが・・・
712:デフォルトの名無しさん
08/11/18 13:22:53
プログラミングに自信がある奴にビギナー向けが必要なのか?
713:デフォルトの名無しさん
08/11/18 13:31:41
入門書を探してる時点でry
714:デフォルトの名無しさん
08/11/18 22:28:30
そういや、おいらは「インターネットを256倍使うための本」が
ネットワークプログラミング事始めだったZE
715:709
08/11/19 01:27:04
>>712
DirectX使えればネットワークプログラミングができる訳でもないだろう?
>>713
おまいはどうやってネットワークプログラミング覚えた?
やっぱりグーグル先生に教わったほうが良いのかかなぁ
>>714
Amazonでの評価は低いが、大丈夫なのか?
しかし、プログラミング業界はホント書籍に恵まれないな
ビギナー向けの本買い漁ろうかしら
716:デフォルトの名無しさん
08/11/19 05:31:06
Amazonでの評価なんかアテにするな
717:デフォルトの名無しさん
08/11/19 05:51:25
>>711
URLリンク(www.amazon.co.jp)
私はこれの改定前のもので門をくぐりました。昔はネットワークバイトオーダー無視を散々に叩かれましたが、今は大丈夫。
718:デフォルトの名無しさん
08/11/21 08:21:55
MTU内に収まらないようなデータを一度にsendすると
複数パケットにデータが分割されて送信され、受信側で順番にrecvすると思うのですが
2種類のどちらもMTU内に収まらないサイズのデータがあったとして
これらを連続してsendした場合に、
受信側でrecvした時に1種類目のケツと2種類目の頭がひっついて取れるなんてこと無いですよね?
719:デフォルトの名無しさん
08/11/21 08:28:36
ある。
720:718
08/11/21 10:17:44
あ、あるんですか・・・
やっぱり順序が保障されてるだけで、ひっついてとれることはあるんですね
とすると、切り分けるための仕様を決めとかないとだめか・・・
721:デフォルトの名無しさん
08/11/21 11:34:07
tcpか?
tcpはバイトストリームだから切れ目は自分で入れないとわかんないよ
722:デフォルトの名無しさん
08/11/21 11:38:35
あ、TCPです
やっぱそうなんですね
お二方ともありがとうございます。
723:デフォルトの名無しさん
08/11/21 17:53:15
初心者らしい良い質問である
724:デフォルトの名無しさん
08/11/21 23:13:23
自分で気がつくだけ偉い。
気がつかないで突っ走ってデバッグのときに変だ変だって騒ぐ奴よりは。
725:デフォルトの名無しさん
08/11/21 23:35:16
変だ変だと騒いだ俺は死んだほうがいいんですか?
ねこわかネットワークとかそこらへん一切書いてない本も多いし
しかたないだろうとしか言いようがない
ということにするのが大人の対応だと思います
726:デフォルトの名無しさん
08/11/22 00:11:47
どうやってデバッグするか?ということを考える機会にもなるし
新しい領域に入るときはある程度トライアンドエラーしたほうがいいと思う
727:デフォルトの名無しさん
08/11/22 01:19:42
改行が区切りのストリームは
1文字ずつ読まないとだめあるか?
728:デフォルトの名無しさん
08/11/22 01:26:14
バッファにたくさん読んで、改行以降は次回のためにそのまま保持しておけばよい
729:デフォルトの名無しさん
08/11/22 02:24:40
というかそういうレベルで、プログラマー名乗るのがあなたの罪
730:デフォルトの名無しさん
08/11/22 02:28:39
別に名乗ってないかもしれんじゃないか
まぁわからんが
731:709
08/11/22 05:20:17
すまん、亀レスってレベルじゃないが>>717thx
732:デフォルトの名無しさん
08/11/22 19:25:50
>>709
亀レスだが、自分はこの2冊で入門はなんとかなった。
URLリンク(www.amazon.co.jp)
URLリンク(www.amazon.co.jp)
で、次にWebの情報サイトを横目に見つつ、rfcとか、TCP/IP FAQとか読んだ。
>>3-7 も半分ぐらい読んでる。
詳解TCP/IPシリーズとマスタリングTCP/IPは仕事で使うなら目を通すべき。
あと、パケットキャプチャソフトを自作するって本が数冊出てるので、
パケットキャプチャして遊んだ。デバッグの効率も上がるし。
733:デフォルトの名無しさん
08/11/22 23:43:12
recv()一回でひとつのメッセージを取得できる保証しろって騒いでた奴いたなー
734:デフォルトの名無しさん
08/11/23 05:22:02
>>728
バッファ持ちまわるの面倒だから結局そういう事やらないよね。
ラッパー作る暇ないし。
735:デフォルトの名無しさん
08/11/23 09:59:38
本気か?
736:デフォルトの名無しさん
08/11/23 11:26:10
>>734
余計に受信できてしまったらどうするの?
1byteごとにrecv?
改行区切りみたいな読んでみないと終わりが分からないデータじゃなければ、
データ長いれるとかやりようはあるけど。
737:デフォルトの名無しさん
08/11/23 11:43:22
>ラッパー作る暇ないし
どんだけ無能なんだよ
738:デフォルトの名無しさん
08/11/24 19:48:37
dup2等を使って、stdioにやらせる手法はあるけどね。ブロックしても構わない用途なら。
まあ一般的だとは言いがたいけど。
739:デフォルトの名無しさん
08/11/24 21:19:42
普通に受信して区切る処理はゼッタイ必要なんだから
ラッパにしたほうが楽でしょ
740:デフォルトの名無しさん
08/11/25 00:06:57
いや、そんないつ使うか判らんもの作る暇ないって。
一時期はおれも汎用性の夢をみたがな。所詮は無駄な贅肉だよ。
ソケット関係は毎回毎回要求仕様と微妙にかみ合わなくて
ラッパーなんか作るだけ無駄だと悟ったよ。
741:デフォルトの名無しさん
08/11/25 00:09:42
使い捨ての軽量ラッパ作ればいいんじゃね
742:デフォルトの名無しさん
08/11/25 00:20:01
wrapperと汎用ライブラリがごっちゃになってない?
743:デフォルトの名無しさん
08/11/25 00:25:15
>>740がどんな実装してるのか気になる
本当に1バイトずつrecvしてるのかな
744:デフォルトの名無しさん
08/11/25 20:09:58
大学のUNIXOSでネットワーク対戦できるC言語のプログラムを作りたいです。
何かオススメの本とかサイトはありませんか?
745:デフォルトの名無しさん
08/11/25 20:19:24
Javaネットワークプログラミング(オライリー)っておすすめかお(´・ω・`)
読んだ事ある人いたら教えて欲しいお。
746:デフォルトの名無しさん
08/11/25 20:42:43
大学のUnixマシンでネットワーク対戦リバーシつくったが、
ネットワークよりXlibに苦労した。。。
747:デフォルトの名無しさん
08/11/25 21:03:38
>>744
UNIX系は情報が入手困難で収集にも時間が掛かりすぎます。
結局>>745のようにJavaとかになったりします。
最初からWindowsで考えるのがおすすめですよ。
大体1/10から1/100程度の開発時間が短縮できます。
748:デフォルトの名無しさん
08/11/25 21:57:27
うざいな。
そんなことあたりまえでしょう?
749:デフォルトの名無しさん
08/11/26 03:22:58
だから、素直にJavaにしとけって。Winだろうが、Unixだろうがプラットフォームごとに
勉強する必要ないぞよ。1つ覚えれば、Write once, Run anywhereだ!
おまけに言語使用もそんなに難しくない。ネットワークなんかJavaでも一番わかりやすいんだから!
750:デフォルトの名無しさん
08/11/26 03:24:41
>>745
その本はいいけど、古いよ。昔のJavaのメソッドとか書かれてるし、
今推奨じゃないのがけっこうあるよ。
でも、もんのすごく低レベルな初心者でもわかりやすく描いてあるから
一応モススメ。
751:デフォルトの名無しさん
08/11/26 03:52:03
>>749
え?winsock って bsdソケットとお作法が違うのですか?イベントドリブンに書くことは理解していますけれども。
752:デフォルトの名無しさん
08/11/26 13:21:49
×Write once, Run anywhere
○Write once, Debug anywhere
753:デフォルトの名無しさん
08/11/26 21:34:32
>>751
必要なライブラリも違うし、Closeするときも関数名が違うし
WSAStartup、WSACleanupなんてWinsockだけだし…
そういう違いで悩みたくないならJavaのほうが良いねと言うお話
754:デフォルトの名無しさん
08/11/26 22:15:40
URLリンク(xy.yu.to) (ここは本来のサイトではないが)
この荒れまくりカオス絵チャのminiっていう部屋の
秘密スペース(枠外)への書き込みってどうやれば
できるようになるのか解析して教えろ。
あと、1人の防衛プログラマーのクリアツールが強すぎて、
荒しプログラマーがことごとく全員返り討ちになってるから
オマエラが面白くしてみろ。
ゲハハハごめんね
755:デフォルトの名無しさん
08/11/26 23:50:26
>>753
そんなの大した違いじゃないじゃん。
Winsockはbsdのソケットを踏襲している。
それに加えてマイクロソフトの大好きなウインドウズメッセージを使った別物のセットも含まれている
ってだけのことじゃんか。
違いといえばclosesocketかcloseか、あとはアプリ起動時に一回呼ぶだけのWSAStartupと終了時に同じくWSACleanup。
こんな違いならパラダイムやアルゴリズムに差は出ない。
756:デフォルトの名無しさん
08/11/26 23:50:33
>>753
なるほど、しらべてみます。
757:デフォルトの名無しさん
08/11/27 00:06:46
>>755
winsockでは
poll()もkqueue()もepoll()もreadv()もwritev()もalarm()も使えない
read()/write()も(そのままでは)使えない
select()はあるが、紛い物のオモチャなので本当にオモチャにしか使えない
winsockで推奨されるのはI/O completion portとoverlapped I/Oの組み合わせ
WSARecv()やWSASend()を使えということだ
別物だと思ったほうがすっきりする
758:デフォルトの名無しさん
08/11/27 01:25:26
ソケットの数が50を超えたりしなきゃ、
poll,kqueue,epoll,/dev/poll,overlapped ioな連中の
出番はないだろ。
759:デフォルトの名無しさん
08/11/27 02:20:47
>>758
select()なんかでいい程度のプログラムなら、それこそJavaでいいじゃん
760:デフォルトの名無しさん
08/11/27 04:00:31
Javaはバージョンごとにころころ変わるからヤダ!
761:デフォルトの名無しさん
08/11/27 11:02:37
>>759
その一点のみでC/C++ではなくJavaにする莫迦なんて
あなただけです。
762:デフォルトの名無しさん
08/11/27 12:19:19
>>761
つまり移植性重視で、パフォーマンスは求めてないんでしょ?
そういうケースならJavaで、というかJavaがいいんじゃないの?
クライアントなら別だが、そういうケースでサーバを書くのなら
C/C++なんかを選ぶ理由が俺には分からない
実際にはスレッド、シグナルハンドリング、排他制御の方法、
等々移植性の無いことだらけで、ソケットAPIだけ限定したところで
何の意味も無いと思うけど
一体どんなプログラムを仮定しているの?
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4758日前に更新/232 KB
担当:undef