- 1 名前:デフォルトの名無しさん mailto:sage [2010/12/25(土) 22:46:56 ]
- 主にソケットに関しての質疑応答スレッドです。
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辺り 足りなかったら適当に付け足してね 前スレ ネットワークプログラミング相談室 Port26 hibari.2ch.net/test/read.cgi/tech/1269343909/ 関連スレ ネットワークプログラミング雑談 hibari.2ch.net/test/read.cgi/tech/1235800707/ Java ネットワークプログラミング 【教えて!】 hibari.2ch.net/test/read.cgi/tech/1086238859/
- 496 名前:デフォルトの名無しさん mailto:sage [2011/08/05(金) 00:53:09.47 ]
- 難しいことをやり遂げるのが主目的じゃない
簡単な方法があるならそれを使うまで パケットを直接入れる方が簡単だと言うなら別だけど
- 497 名前:デフォルトの名無しさん mailto:sage [2011/08/05(金) 09:03:59.82 ]
- せやな
- 498 名前:デフォルトの名無しさん mailto:sage [2011/08/05(金) 17:17:11.92 ]
- >>491
簡単にはできない。 TCPストリームのデータを中間者が増やした時点で、それ以降のACK/SEQがずっとズレっぱなしになるので、 任意のデータを入れたが最後、その後の通信を全部加工して送らなければならない。 ftpに対応したNATルータがまさにそれをやっている。
- 499 名前:デフォルトの名無しさん mailto:sage [2011/08/05(金) 17:25:53.75 ]
- へ?
- 500 名前:デフォルトの名無しさん mailto:sage [2011/08/05(金) 18:05:39.59 ]
- >>496
>>494に難しいだけで簡単だって。 スループット上げるのは容易ではないけども。
- 501 名前:デフォルトの名無しさん mailto:sage [2011/08/05(金) 18:33:11.54 ]
- 全部TCP/UDPパケットをいったん別のソケットにリダイレクトする方が簡単だろ?
一旦正規のソケットに仲介させることで中身をいじるのは簡単になる 1.接続要求がきたら自分のListenポートに修正 2.本来のポートに普通にコネクションを張る 3.自分のソケットから本来のポートに対するパケットのソースアドレスを元に戻す 4.以後はそのパターンでソースとデスティネーションを書き換え続ける これで完全に仲介したソケットが完成して、本来の接続プログラムが リモホを参照してもちゃんと元のリモホとして認識されるはず これでいけると思うんだけど間違ってるかな? この方法で問題になるのが自分でconnectやacceptする部分であらかじめポート番号を決定できた方が都合がいいんだけど Winsockってそういうことは可能なんだっけ?
- 502 名前:デフォルトの名無しさん mailto:sage [2011/08/05(金) 18:57:47.69 ]
- 一生懸命説明してるとこ悪いけど、
> 既にハンドシェイクされて確立されたTCPコネクションがあって という前提なので。
- 503 名前:デフォルトの名無しさん mailto:sage [2011/08/05(金) 19:03:04.84 ]
- >>502
パケットを挿入するという前提があるので、その条件を入れただけですよ
- 504 名前:デフォルトの名無しさん mailto:sage [2011/08/05(金) 19:16:52.10 ]
- その前提と条件がどう関係するんだよ。
よくわかってないなら、変な条件つけなきゃいいのに...。
- 505 名前:デフォルトの名無しさん mailto:sage [2011/08/05(金) 19:24:52.51 ]
- >>504
こういうスレではあらかじめかなり条件を絞って質問しないと 毎回毎回、知識ひけらかし君が、その部分をまずやれとか意味不明なことを言い出して それはとっくに出来てるんでとか言うと以後レスしなくなるという そういう経験ばかりしてきてるんで 無駄なやり取りを減らすために条件を絞るくせがついてるですよ
- 506 名前:デフォルトの名無しさん mailto:sage [2011/08/05(金) 20:03:49.59 ]
- >>501からの流れ
誰が誰やらわからんw
- 507 名前:デフォルトの名無しさん mailto:sage [2011/08/05(金) 21:49:57.24 ]
- 妖しそうなことやりたいんじゃないの?
- 508 名前:デフォルトの名無しさん mailto:sage [2011/08/05(金) 21:50:38.63 ]
- >>505
>毎回毎回、知識ひけらかし君が、その部分をまずやれとか意味不明なことを言い出して >それはとっくに出来てるんでとか言うと以後レスしなくなるという 自分のやったことと、前提条件がちゃんと説明できてないからだろ。
- 509 名前:デフォルトの名無しさん mailto:sage [2011/08/05(金) 22:33:40.45 ]
- >>507
妖しいことも出来ない奴がネットワークを語るなよ そんなレベルの奴に用はねーし 逆にそのレベルに達してきて怪しいことをやったことが無い奴なんて居ない
- 510 名前:デフォルトの名無しさん mailto:sage [2011/08/05(金) 23:23:28.65 ]
- ホメラレモセズ
クニモサレズ サウイフモノニ ワタシハ ナリタイ
- 511 名前:デフォルトの名無しさん mailto:sage [2011/08/17(水) 01:52:36.11 ]
- おれにはできない。
どういう状況でそんなことやる必要があるのか 知りたい。
- 512 名前:デフォルトの名無しさん mailto:sage [2011/08/17(水) 11:27:32.60 ]
- >>501
それは別のネットワークになるので駄目です。
- 513 名前:デフォルトの名無しさん [2011/08/18(木) 22:05:34.40 ]
- Socket.Send メソッド (Byte[], SocketFlags)
Socket.Send メソッド (IList<ArraySegment<Byte>>, SocketFlags) のSocketFlagsの存在が何故あるのかが良く解らないんです。 SocketFlags.Noneを指定するのなら Socket.Send メソッド (Byte[]) でイイのではないかなぁと思うのですが、サンプル求めてググッてみても SocketFlags.Noneを指定するのが過半なので、どうしてかな〜と疑問に思い質問です。 なんで?
- 514 名前:デフォルトの名無しさん [2011/08/19(金) 00:11:39.24 ]
- Windows上で特定のポートに帯域制限を掛けるプログラムを
C++で組みたいのですが、何から勉強していいかわかりません・・・ 何かいい本かサイトを紹介してくれませんか。 スキルとしては、画像やテキスト処理のコマンドラインプログラムを C++で書ける程度です。
- 515 名前:デフォルトの名無しさん mailto:sage [2011/08/19(金) 01:09:58.09 ]
- >>514
どういう方法でやろうとしているの? 特定のwindowsサーバにインストールして、そのサーバの下にいるwindowsPCに帯域制限をかけたいの? それともwindowsPCにインストールして、インストールしたwindowsPCのみに帯域制限かけたいの? 賢い人達はLINUX使うと思う。 まあ、どういう方法をとるにしろ、 デバドラまで入り込まないと無理だぞ。 今日も眠れぬ青画面の世界までようこそ。 WELCOME!WELCOME!WELCOME!
- 516 名前:デフォルトの名無しさん mailto:sage [2011/08/19(金) 02:47:41.32 ]
- >>512
そうらしい、実際にやってみたがループバックは物理的なネットワークが違うものとして扱われるらしくリダイレクト出来ない。 パケットをいじるだけで同じPC内でプロキシをするのは無理らしい。 しかし、苦労したけど結局プロキシする方法を発見して出来たからもういいのだ。
- 517 名前:デフォルトの名無しさん mailto:sage [2011/08/19(金) 09:44:30.60 ]
- >>514
標準でQoSに対応しているので、有る程度はレジストリ設定だけで 制限できるんだけど、あくまで作るのが目的なの? 作るなら、フィルタドライバとして作るだけだけど。
- 518 名前:デフォルトの名無しさん [2011/08/19(金) 10:13:26.00 ]
- >>515
きもすぎwwwwwwwww
- 519 名前:デフォルトの名無しさん mailto:sage [2011/08/19(金) 19:18:23.78 ]
- >>515
>それともwindowsPCにインストールして、インストールしたwindowsPCのみに帯域制限かけたいの? それです。 >>517 目的達成できるなら手段は問わないです。 具体的にはネットワークカメラを走らせていまして、 プロバイダの30GB/日のUL転送量制限に引っ掛からないように転送量を測って、 20GB超えたら速度制限、25GB超えたらそのポートを遮断 日付が変わったら累積リセット制限解除、ということをしたいのです。 制限を超えるのは極稀な日なので、四六時中制限掛けるのは避けたいですし LAN同士の転送はカウント外にしたいので、ネットワークカメラのポートだけを監視したいわけです。
- 520 名前:デフォルトの名無しさん [2011/08/19(金) 19:44:57.73 ]
- 格ゲーだとフレーム単位でキャラ操作するつわものいるけど
そういった人を満足させるネトゲって可能?
- 521 名前:デフォルトの名無しさん mailto:sage [2011/08/19(金) 19:50:42.91 ]
- ネット対戦できる格ゲーならあるけど、そういう話じゃなくて?
- 522 名前:デフォルトの名無しさん mailto:sage [2011/08/19(金) 20:24:59.54 ]
- フレーム単位で通信する必要ないから可能。
- 523 名前:デフォルトの名無しさん mailto:sage [2011/08/19(金) 21:06:34.70 ]
- >>519
それって速度制限というか、絶対量制限しないといけないんじゃないの? 1フレームの転送量を計って、制限量に達するまでに何フレーム送れるか計算したら? webcam -> localhost:8000 -> internet みたいな感じでlocalhostさんに一度データを送って、localhostさんがwebcamの データを外に中継だけするようにしたらどう?
- 524 名前:デフォルトの名無しさん mailto:sage [2011/08/20(土) 01:28:49.55 ]
- >>520
不可能 小足見てから昇龍とか無理
- 525 名前:デフォルトの名無しさん mailto:sage [2011/08/20(土) 01:31:40.55 ]
- ざ 残像だとっ!
- 526 名前:デフォルトの名無しさん mailto:sage [2011/08/20(土) 03:24:37.45 ]
- >>520
地球の裏側まで光速で何秒かかるか計算してみるといい。 理論最速値でもそこまでの速度しか出ないということに驚愕しろ。
- 527 名前:デフォルトの名無しさん mailto:sage [2011/08/20(土) 08:14:59.99 ]
- >>519
TCP/UDPプロキシでも使ったほうが手っ取り早いんじゃね?
- 528 名前:デフォルトの名無しさん mailto:sage [2011/08/20(土) 08:15:55.13 ]
- >>520
可能。ただし1フレームがネットワークのディレイより長い必要がある。
- 529 名前:デフォルトの名無しさん mailto:sage [2011/08/20(土) 09:59:38.11 ]
- フレーム制御だとACKタイムアウトで再送とかされて大量にフレームが来るから
帯域制限を掛けるなら当然、同じフレームは不達として落としてやらないといけないから複雑
- 530 名前:デフォルトの名無しさん mailto:sage [2011/08/20(土) 10:04:44.02 ]
- 一番簡単な方法はAPIフックだろうね
send recvをフックして遅延を掛けてやればいい ただ、この方法だと100%のソフトを制御出来る保障がないけど 100%制御がしたいとなるとring3では無理 つまりカーネルモード(ドライバ)の領域に入らないと制御は出来ない
- 531 名前:デフォルトの名無しさん mailto:sage [2011/08/20(土) 10:13:07.93 ]
- 一番、簡単確実なのは>>523だろ。最適解が出てるんだから、オナニーするの止めろよ。
- 532 名前:デフォルトの名無しさん [2011/08/21(日) 19:26:09.84 ]
- C#でsocket使おうと思い質問です。
参考にしたのは ttp://dobon.net/vb/dotnet/internet/downloadusesocket.html なのですが、 //受信する byte [] resBytes = new byte[1024]; System.IO.MemoryStream mem = new System.IO.MemoryStream(); while (true){ int resSize =sock.Receive(resBytes, resBytes.Length,System.Net.Sockets.SocketFlags.None); if (resSize == 0) break; mem.Write(resBytes, 0, resSize); } の部分がうまく動作しません。 while一週目で全文受信したのち、2周目でresSize 0がこないのです。 ずっとsock.Receiveのところで固まってしまいます。なにか足りないのでしょうか? オツムの足りない私めにご教示お願いします。
- 533 名前:デフォルトの名無しさん mailto:sage [2011/08/21(日) 19:43:01.85 ]
- resSize 0 ってまず来ないと思うよ
- 534 名前:デフォルトの名無しさん mailto:sage [2011/08/21(日) 20:23:57.84 ]
- もう忘れたけど、相手がクローズしたら 0 になるんじゃ?
- 535 名前:デフォルトの名無しさん mailto:sage [2011/08/21(日) 22:30:09.31 ]
- >>533
Vista以降はcloseするとFINを送る前に0パケットを送信する >>532 というわけでclose以外で0バイトの受信が来る事はない。 TCPはデータの到達は保障してくれるけど区切りまでは保障してくれない。 だからTCP通信で必須になるのがデータサイズを相手に通知する作業なの HTTPプロトコルだと、まず\r\n\r\nでヘッダの終わりを通知して ヘッダの中のContent-Lengthで後続するデータサイズを明記するという構造でデータサイズを渡してる。 同じようにデータのサイズをあらかじめ通知する方法を自分で考えたプロトコルにも組み込まないといけない。 そうすることで何バイト受信すればいいかがわかるでしょ。
- 536 名前:デフォルトの名無しさん mailto:sage [2011/08/21(日) 22:50:19.66 ]
- ナルホド確かに受信文の中に数のデータサイズ部分が居ます。納得しました!
- 537 名前:デフォルトの名無しさん mailto:sage [2011/08/22(月) 02:20:50.65 ]
- >>535
そうなんだ でもそれってUNIX系でいうところの readの戻り値がゼロ ってやつだよね?
- 538 名前:デフォルトの名無しさん mailto:sage [2011/08/23(火) 00:23:23.89 ]
- 良く解らんがsetSoTimeout(タイムアウト時間);とかないん?
- 539 名前:デフォルトの名無しさん mailto:sage [2011/08/23(火) 00:47:50.24 ]
- もっと参考になるサイトがあるだろうに
- 540 名前:デフォルトの名無しさん [2011/08/25(木) 23:18:57.16 ]
- LANケーブルを物理的にハサミでちょん切ったりしたりすると延々受信待ちしてしまいますよね?
socketのReceiveTimeoutは同期の場合にしか使えないようなのですが 非同期の場合はタイムアウトや無応答をどう対処したらいいのでしょう? if (0 < sock.Available | 0 < resSize) と、ネットワークから受信した、読み取り可能なデータ量が0ならbreak? ちがうよなぁ・・・。
- 541 名前:デフォルトの名無しさん mailto:sage [2011/08/26(金) 14:23:25.04 ]
- 復帰
- 542 名前:デフォルトの名無しさん [2011/08/26(金) 19:26:12.89 ]
- UDPとTCPを併用する場合
TCPでの送受信がUDP側に影響を与えることってありますか?
- 543 名前:デフォルトの名無しさん mailto:sage [2011/08/26(金) 20:01:21.09 ]
- ないですね。
イーサネットの帯域食うくらいの通信をTCPでしてない限り。 100%ないと思っていいです。
- 544 名前:デフォルトの名無しさん mailto:sage [2011/08/26(金) 20:03:25.09 ]
- いやあるね
- 545 名前:デフォルトの名無しさん mailto:sage [2011/08/27(土) 02:26:14.91 ]
- (`ハ´) ないあるね。
- 546 名前:デフォルトの名無しさん mailto:sage [2011/08/27(土) 09:42:13.51 ]
- ありますん
- 547 名前:デフォルトの名無しさん mailto:sage [2011/08/27(土) 10:01:00.55 ]
- 役に立たねーな
おまいら
- 548 名前:540 [2011/08/27(土) 17:30:05.25 ]
- まだ困ってます・・・
client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReceiveTimeout, 2000); で受信タイムアウト設定したつもりで居たら駄目だった。 SocketOptionName 列挙体 ReceiveTimeout タイムアウトを受信します。 このオプションは、同期メソッドにだけ適用されます。BeginSend などの非同期メソッドに対しては機能しません。 AsyncCallback(ReceiveCallback)で非同期受信したい場合ではどうすればいいですか?
- 549 名前:デフォルトの名無しさん mailto:sage [2011/08/29(月) 20:27:18.19 ]
- LANが切れた時のタイムアウトは非同期とかどうとかの問題じゃない
何故なら、切断タイムアウトが検出されるのはデータを送信して応答メッセージが無い時だけだからだ 逆に言えば、タイムアウトを発生させたい周期で無意味なデータを送りつけて反応を見ればいい これをPing送信を言う
- 550 名前:デフォルトの名無しさん mailto:sage [2011/08/29(月) 20:30:29.86 ]
- >>548
BeginReceiveを使えばいいだろと言って見るテスト
- 551 名前:デフォルトの名無しさん mailto:sage [2011/08/29(月) 21:36:39.72 ]
- >>549
pingとかいちいち送るのうざいじゃん KIIPUARAIBUを設定してOSに勝手にやらせればよくね?
- 552 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 01:33:24.13 ]
- HTTPヘッダのUser-Agentに日本語などの非アスキーを混ぜたい場合、単純にutf8の%エンコーディング
にすればよいだけ? RFC読めば読むほどわからなくなってきた・・・
- 553 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 03:35:51.57 ]
- yes
- 554 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 09:17:50.28 ]
- 訪問者解析とかしてる奴に攻撃仕掛けるのか?
- 555 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 12:24:21.85 ]
- >>553
うそつけ >>552 Qエンコーディング(MIMEヘッダ拡張)しろ
- 556 名前:デフォルトの名無しさん [2011/09/02(金) 16:09:57.29 ]
- 家庭用PCでWAN側から100ノードくらいから毎秒1〜2回くらいで50バイトくらいのTCP接続受けるのって
マシンとルーターの同時接続数上限的に無理かな?
- 557 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 16:15:04.36 ]
- MMOくらいなら一台で運用してたぞ
- 558 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 17:16:33.12 ]
- >>557
同時接続どれぐらい?
- 559 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 17:57:11.76 ]
- >>556
今時、古いノートPCでも、 ネットワークスタックだけに限れば余裕かと。 サーバの処理については内容によるだろうし、 ルータと言っても古いADSLモデム兼用もあるし機種次第だろうね。
- 560 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 18:37:58.60 ]
- 某○ネージュIIのサーバが拡散されたとき、一台でもそこそこできるんだなと感心してしまった
- 561 名前:全然動かないよーー [2011/09/19(月) 02:52:55.49 ]
- 超悩んでます。やばいです。教えてください。
Linux上でネットワークプログラミングしてます。 IPv4でUDPで受信するプログラムです。 socket()、bind()、setsockopt()は全て成功し正常終了しているのに、 recv()だけがエラーとなり受信できません。 ソケットは確実に開けており、netstatでも確認済みです。 ICMP destination unreachableを発信しています。 何でですか。
- 562 名前:全然動かないよーー [2011/09/19(月) 02:54:57.61 ]
- あと、recvmsg()でMSG_ERRQUEUEを使うとエラー情報が取れると
マニュアルにあるので、やろうとしましたが、全然できません。 それに、疑問点が多々あります。 ○IP_RECVERRの指定はsetsockopt()でするのでいいですか。 ○msghdrにエラーがセットされるとありますが、 エラーはsock_extended_errで提供されるともあります。 msghdrのメンバにsock_extended_errなんてありません。 msghdrに具体的にどのようにエラーがセットされるんでしょうか。 ○recvmsg()でエラー情報を吸い上げるサンプルコードの載っている サイトをご存知の方は教えてください。 よろしくお願いします。
- 563 名前:デフォルトの名無しさん mailto:sage [2011/09/19(月) 03:47:33.33 ]
- select
- 564 名前:デフォルトの名無しさん mailto:sage [2011/09/19(月) 03:50:48.14 ]
- >>562
どうして肝心のrecvのエラーを書かないのか
- 565 名前:全然動かないよーー [2011/09/19(月) 05:00:32.36 ]
- >>564
recv()のエラーは戻り値-1です。
- 566 名前:デフォルトの名無しさん mailto:sage [2011/09/19(月) 05:02:34.96 ]
- >>565
エラー発生時のerrnoの値は?
- 567 名前:デフォルトの名無しさん mailto:sage [2011/09/19(月) 05:30:51.33 ]
- これでEAGAINだったら爆笑だが、彼は一歩成長するだろう。
- 568 名前:デフォルトの名無しさん [2011/09/19(月) 05:48:05.57 ]
- 尻から目が出た!
- 569 名前:デフォルトの名無しさん [2011/09/19(月) 13:54:55.59 ]
- ッモルピグ!作っているのですが、まとまったバイナリは送ったときに受け取ったバイナリはまとまっているんですか?
send関数recv関数 2つ送って1つめより大きなバッファでrecvしたら2つめもついてくることあるんですか?
- 570 名前:デフォルトの名無しさん mailto:sage [2011/09/19(月) 16:07:31.16 ]
- >>569
ある
- 571 名前:デフォルトの名無しさん [2011/09/19(月) 17:19:28.12 ]
- >>570
えっ>< 自分で切り分けなきゃだめってことですか>< 鯖からsendで16byteと12byteのデータが送られたときに、そのパケットが2つとも到着してる状態でrecvで24byte読み出したら最初の16byteと、次の12byteの最初の8byteが引っ付いた状態で読み出されるんですか>< 逆に鯖から8byteのデータが送られたときに読み出すタイミングによっては4byteしか届いてなかったりしますか? TCPです><
- 572 名前:デフォルトの名無しさん mailto:sage [2011/09/19(月) 17:20:26.98 ]
- はい
- 573 名前:全然動かないよーー [2011/09/19(月) 17:33:56.47 ]
- >>565 >>567
errnoのとり方が分かりません。 断片的な知識はあるのですが、うまくいきません。 >>562の質問についても助言をお願いします。
- 574 名前:デフォルトの名無しさん mailto:sage [2011/09/19(月) 17:50:27.97 ]
- >>573
#include <errno.h> #include <string.h> int ret = recv(/*略*/); if (ret == -1) { printf("recv() failed: errno = %d (%s)\n", errno, strerror(errno)); } errnoやstrerror()についてはググッて。
- 575 名前:デフォルトの名無しさん mailto:sage [2011/09/19(月) 18:23:26.31 ]
- >>570,572
ありがとうございます>< 頑張ります><
- 576 名前:デフォルトの名無しさん mailto:sage [2011/09/20(火) 00:45:14.61 ]
- >>561
パケットフィルタで蹴られましたとか言ったら殺す。
- 577 名前:デフォルトの名無しさん mailto:sage [2011/09/20(火) 02:16:11.56 ]
- パケットフィルタで蹴られましたとさ
- 578 名前:デフォルトの名無しさん mailto:sage [2011/09/20(火) 12:21:46.46 ]
- >>576
それは無いだろ。それなら届かないからそもそもエラーにならない。
- 579 名前:デフォルトの名無しさん mailto:sage [2011/09/20(火) 14:17:18.53 ]
- すごいアイデアを思いついた
TorっていうP2P匿名ソフトはSocksに対応してるんだよな ローカルのソフトの通信を全部Torに投げてやれば自動的にすべてのソフトを匿名で利用出来る そして俺にはそのやり方の知識と、既に作ったソフト群がある これ作ったらたぶん革命的だろうな、特にファイル共有関連とかな が作る時間がない アイデアだけ託すから誰か作ってみるといい
- 580 名前:デフォルトの名無しさん mailto:sage [2011/09/20(火) 15:41:59.35 ]
- 了解
- 581 名前:デフォルトの名無しさん mailto:sage [2011/09/20(火) 19:32:49.64 ]
- 既に作ったソフト群があるなら作る時間がなくても困らないじゃん
- 582 名前:デフォルトの名無しさん mailto:sage [2011/09/20(火) 23:21:57.28 ]
- さっさとソース出せ
- 583 名前:動いたよーー [2011/09/21(水) 11:29:58.67 ]
- 561です。
動きましたーっ☆ >>576,>>577 その通りでした。 ファイアウォール設定でごく一部のポートしか開いてませんでした。 それが原因でした。助かりました、ありがとうございます。 >>578 実は、訳あってノンブロックにしていたので、制御が戻り、 -1を返していました。
- 584 名前:デフォルトの名無しさん mailto:sage [2011/09/21(水) 12:05:08.84 ]
- >>583
>>567のとおりだったわけか
- 585 名前:デフォルトの名無しさん mailto:sage [2011/09/21(水) 13:33:00.92 ]
- いや、>>561がerrnoを見たとは限らないぞ。
- 586 名前:デフォルトの名無しさん mailto:sage [2011/09/21(水) 14:04:40.71 ]
- そうだな。あんだけ言ってもまだ-1とかぬかしてるしな
- 587 名前:デフォルトの名無しさん mailto:sage [2011/09/21(水) 15:29:37.40 ]
- 知識の無い奴は、さらに知識の無い奴を見つけると揚げ足とって猿みたいに喜ぶんだよな
だから馬鹿なんだよ
- 588 名前:デフォルトの名無しさん mailto:sage [2011/09/21(水) 17:06:42.20 ]
- >>587
喜びのレスありがとう
- 589 名前:デフォルトの名無しさん mailto:sage [2011/09/21(水) 17:40:28.94 ]
- www.tasukete.org/
ここの管理人アホだから手助けして
- 590 名前:デフォルトの名無しさん mailto:sage [2011/09/21(水) 22:14:20.60 ]
- >>587
同意w
- 591 名前:デフォルトの名無しさん mailto:sage [2011/09/24(土) 00:48:30.65 ]
- CとJavaを入門書終わらせてちょっと簡単アプリなんかも作ってみたりする程度の経験で
ネットワークプログラミングについても勉強してみたいな、と思ったのですが そういう状況だと入門書としては「猫でもわかるネットワークプログラミング」辺りでよろしいでしょうか
- 592 名前:デフォルトの名無しさん mailto:sage [2011/09/24(土) 13:33:35.47 ]
- >3 >4
から好きなの読めば
- 593 名前:デフォルトの名無しさん mailto:sage [2011/09/24(土) 13:48:56.26 ]
- >>591
UNIXネットワークプログラミングvol1と、あとは適当な薄い本買っとけ。
- 594 名前:デフォルトの名無しさん mailto:sage [2011/09/29(木) 01:09:29.28 ]
- UDPで送信側が1から4まで番号つけたデータを順番に送信して、
受信側が1、2、4という順番で受信したときに3のデータがロストしたのか4の後に来るのか判断する方法ってある? 3がくるのをちょっと待ってみるか、2の次に4を受信した時点で3の再送を要求するしかない?
- 595 名前:デフォルトの名無しさん mailto:sage [2011/09/29(木) 08:05:15.55 ]
- >>594
>4の後に来るのか判断する方法ってある? ない。 >3がくるのをちょっと待ってみるか、2の次に4を受信した時点で3の再送を要求するしかない? うん。
- 596 名前:594 mailto:sage [2011/09/29(木) 08:23:58.03 ]
- >>595
ありがと
|

|