ネットワークプログラミング相談室 Port30 [転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2014/10/31(金) 07:57:16.24ID:2NZQQB6u
主にソケットに関しての質疑応答スレッドです。

Programming 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辺り
足りなかったら適当に付け足してね

前スレ
ネットワークプログラミング相談室 Port28
http://toro.2ch.net/test/read.cgi/tech/1334736934/
ネットワークプログラミング相談室 Port29
http://peace.2ch.net/test/read.cgi/tech/1351670708/

関連スレ
ネットワークプログラミング雑談
http://toro.2ch.net/test/read.cgi/tech/1235800707/
42デフォルトの名無しさん
垢版 |
2014/12/30(火) 12:22:57.31ID:sDXm30Tm
初心者なのですが質問させてください
Linux上でTCPを使ったプログラムをc/c++で作っているのですが、sendとrecvのバイト数が合いません
・sendで整数3つ分(12bytes)を送信
・readで何故か28bytesを受信
と言うように余分に受け取ってしまうのです。
これは何故でしょうか?
2014/12/30(火) 14:59:34.72ID:X/9BByQD
それは間違っているからだよ
2014/12/30(火) 16:23:22.16ID:XCKnKGNY
・12バイトしか送信してないつもりだけど実際には28バイト送っていた
・28バイト受信したと思ったけど実際には12バイトしか受信していない
・違う相手に送信したり違う相手から受信したりしている
・通信回線の途中にいる誰かがパケットの中身を書き換えている
のどれか
俺は2番目の可能性が高いと思うがどうだろう
sendやrecvの戻り値はきちんと確認しているか
45デフォルトの名無しさん
垢版 |
2014/12/30(火) 19:36:22.49ID:sDXm30Tm
>>44
どうも1番目のようでした。有難う御座いました。

通信の区切りをバイト数で切っていたつもりが、次の送信分まで読み取っていたみたいです。
通信の区切りは何を基準にやるのが良いのでしょうか・・・
46デフォルトの名無しさん
垢版 |
2014/12/30(火) 19:56:40.09ID:JWtJz6A1
送信データの前にサイズ情報送る
2014/12/30(火) 20:07:23.85ID:XCKnKGNY
余分に読み取ったデータを捨てずに残しておいて次の処理に回せばいい
2014/12/30(火) 20:50:05.63ID:X0T4q0B2
みんなテキストにするのが一番正しいんだと思うな。
49デフォルトの名無しさん
垢版 |
2014/12/31(水) 04:50:28.08ID:69RlDRjx
それはない(AA略
2014/12/31(水) 06:39:59.26ID:jNQJHnGn
素人さんにもわかりやすい例で言えばhttpの成功があるじゃないか。
2014/12/31(水) 13:17:37.47ID:dnPkEaCd
httpが成功したのは1リクエスト、1レスポンスのシンプルさじゃないのか。今となっては酷いものだが。
2015/01/03(土) 00:45:28.47ID:sSLJleDD
メールアドレスの@以降を使ってAレコードを引いて
NullPointerExceptionが返ってきた場合、
代わりに何を調べればよいのでしょうか?
大学のメールアドレスの場合Aレコードで受信サーバーのIPが得られたんですけど、
i.softbank.jpの場合NullPointerExceptionとなってしまいました。

また、ためしにsoftbank.jpをやってみたら複数のIPが得られたんですけど、
この場合はどのIPでもよいのでしょうか?
それとも@前によってどのIPか決まっていたりするのでしょうか?
2015/01/03(土) 00:59:08.17ID:vixGy1UM
ちゃんと勉強してからやれ。その程度の知識じゃあ周りに迷惑かける。
2015/01/03(土) 01:21:06.36ID:oRJ8PtQR
メールアドレスならMXレコード引かなきゃダメじゃね?
Aレコードがある保証無くね?
2015/01/03(土) 02:31:18.70ID:rT9ShsFT
digとかnslookupでなくて、いきなりプログラミングしてる時点でお察しください。
56デフォルトの名無しさん
垢版 |
2015/01/03(土) 13:22:18.96ID:duDbuP4G
メアドの@以降なら
Aレコ無くても間違いではない
5752
垢版 |
2015/01/03(土) 14:06:40.53ID:sSLJleDD
>>53
MXレコードとかAレコードとか今回初めて知りました。
正直メール関連に限らずネットワークの知識はあまりないです。

メールクライアント作ろうとしている知り合いがいて、
私も興味を持ってその人とは別に自分なりにやって
たまにその人が作るのを手伝ってみてる感じです。
ちなみに、その人は私よりネットワークやプログラミングの知識がないです。
Thunderbirdはデータベース使っているらしいですけど、
メールアドレスとパスワードで送受信の設定ができたら楽だと思いまして。
その人には以前
「MXレコードを引けば@以下から受信サーバー名わかるらしいよ。
けど私もぜんぜんわかってないし、まずクライアントできてからだね。
こういうこともできたらいいなくらいな感じかな。」
なんてことを言ってました。
一応受信サーバー名とユーザー名とパスワードを使ってメールを受信したりすることはできてます。

>>54
MXレコード引いて出るのはName Server名ですよね?
それ出しても利用方法がわからす、
「mxレコード メール」で調べてみたところ
メールアドレスはAレコードかAAAAレコードに情報があるとか見て、
ためしに引いてみたら>>52の通りでした。
AAAAレコードはどれもNullPointerExceptionでした。
pingで調べてみたら大学のアドレスの場合
ドメインのIPと送受信サーバー(送信も受信もサーバー名が同じです)のIPが同じでした。
Aレコードがうまく行ったのもこれのためなのかもしれませんね。

>>55
digやnslookupは知りませんでした。
そもそもあまりコマンド知らないもので。
すいません。
58デフォルトの名無しさん
垢版 |
2015/01/03(土) 14:09:40.09ID:duDbuP4G
迷惑だから止めなさい
2015/01/03(土) 18:04:36.89ID:Jw7dunRU
ネットワークだけでなく普通のプログラミングも怪しいから
やめとくのがいい
2015/01/05(月) 01:25:19.74ID:U98HmexI
やめさせるなんてとんでもない
こういう隙だらけのサーバがいるからこそ
楽しいんじゃないか
2015/01/05(月) 02:48:37.39ID:6AW9T47s
珍しくもないから面白くもない
6252
垢版 |
2015/01/09(金) 08:33:32.03ID:GTUz/424
対応表でもない限り@以降から受信サーバーの情報は取ってこれないようなのであきらめます。
いろいろありがとうございました。
2015/01/09(金) 08:45:32.53ID:50+lIvWd
TokyoMX
64デフォルトの名無しさん
垢版 |
2015/01/11(日) 14:31:31.83ID:E0W8IzgA
TCPって1バイト未満のデータが届いたときは1バイト以上のデータが届くまで待ってSocketに現す?
2015/01/11(日) 14:41:36.48ID:XvbanVIp
TCPはsequence numberで送受信の制御を行う
sequence numberは1バイト送れば1進むというもので、1バイト未満の送受信というものはない
2015/01/11(日) 14:52:39.98ID:E0W8IzgA
じゃあ各Socketの末端に現れるのは完全に1バイト単位ってことでおk?
2015/01/11(日) 15:07:55.17ID:XvbanVIp
君は軽佻浮薄だな
>>65に書いてあるのはウソかもわからんぞ
ちゃんとRFCを読みたまえ
2015/01/11(日) 15:17:28.55ID:E0W8IzgA
??混乱するからやめてくれ・・・
2015/01/11(日) 15:18:07.58ID:qVGYg3pG
>1バイト未満のデータ
ゆとりか、ナイーブかつユニークな発想の持ち主ではあるが
2015/01/11(日) 15:21:39.13ID:E0W8IzgA
パケット単位で開封されるから半端ビットってものが存在しないのか
71デフォルトの名無しさん
垢版 |
2015/01/11(日) 18:57:12.33ID:eV+wyKNQ
量子通信の絡みで半ビット対策が議論されてるけど、有効な手段はないようです。
結局パリティビット(パリティに偽の半ビットが埋まっていても訂正はこれで足りる)
に頼る方向になるようです。
2015/01/11(日) 23:06:50.82ID:eS3VjuHL
>半ビット
RFCの何番かなwwww
73KAC
垢版 |
2015/01/11(日) 23:16:23.52ID:2BaoehEH
>>72
なにがそんなに楽しいのか・・・

通信関係の低レイヤやったら半ビットなんて当たり前に出てくる単語だぞ?
2015/01/11(日) 23:21:48.11ID:BWQYDvIY
スレタイも読めないのか、XX(6バイト)
2015/01/11(日) 23:42:25.80ID:gRCAQlFv
>>74
ネットワークプログラミングの話しかでてないような…?
2015/01/12(月) 15:34:06.75ID:w91G8Swz
>>75
だからどの規格で、参照実装はなにで、プログラミング言語はなんなんだよwww
2015/01/13(火) 15:42:16.46ID:WFMYlziZ
>>76
IEEEとか見たこと無いのか・・・
2015/01/13(火) 16:26:51.77ID:36zHy3so
PAMIなら読んだことあるwww
79デフォルトの名無しさん
垢版 |
2015/01/13(火) 18:04:37.43ID:NWsnZDKG
>>72
RFCに入るには10年くらいかかるか、あるいは入らないかもしれませんね。
この分野はサムソンの動向次第だと思います。

サムソンの考えによっては、RFC自体が尊重されないようになるかもしれません。
その場合、サムソンがRFCに代わる規格を発行するようになるのでしょう。
2015/01/13(火) 18:23:03.77ID:YXHXehz5
「半ビット対策」でググってもヒット0件だったので何の話だかわけがわからんけど、どこらへんの分野の話なの?
で、なんでサムソン主導で話が進んでるの?
2015/01/13(火) 18:25:29.34ID:YXHXehz5
量子通信でググっても、Wikipediaで
> 量子ネットワーク(りょうしネットワーク)は、量子暗号技術から発展してきた通信ネットワークである。
> 量子テレポーテーション実験における成功の後、量子通信を行うためのネットワークという概念が提唱された。
とあるけど何のことやら。
一般のプログラミングに関係あるの?
2015/01/13(火) 18:37:38.19ID:Ilae/ETe
RS232Cの ストップビット1.5 とは無関係な話?
2015/01/13(火) 19:05:01.85ID:WFMYlziZ
ハーフビットの概念が理解できない奴が騒いでるだけだから
まともに相手しなくていいよ
2015/01/15(木) 10:16:55.82ID:YU8uT6Up
ネットワークプログラムで半ビットとか出てこなくね?
2015/01/15(木) 10:45:13.57ID:JxRLAzmd
え?
2015/01/15(木) 12:21:04.22ID:7Zglqp6/
MLCのことか
2015/01/16(金) 19:20:46.68ID:HY0ABcUc
ネットワークときいてRFCの範囲しか思いつかない奴が何人かいるね
2015/01/16(金) 20:36:48.88ID:0Ac7bUQ6
誰か>>87の友達ネットワーク構築計画の相談に乗ってやれよ。
2015/01/16(金) 21:01:36.68ID:49OvZmoV
1バイト未満のデータがどうたらこうたらの話だったのに、
いつの間にか謎の半ビットの話になっていたでござる
2015/01/16(金) 21:41:15.39ID:zhnMwTDc
量子通信しってまーす、そりゃよかったね、ちゃんちゃん
2015/01/16(金) 23:30:06.62ID:HY0ABcUc
よっぽど悔しかったんだなw
2015/01/17(土) 05:48:08.07ID:miqGx/Yu
普通にスレ読めば、TCPで1バイト未満の送信があるかというのが量子通信がどうのとなってる
一番の元凶は>>71がTCPの話もまともにできないのに、本人に興味があったからかなんだか知らないが、
量子通信とか持ちだしたから
2015/01/17(土) 13:45:14.20ID:/+OUEn5y
オクテット単位未満をサポートする通信規格なんて存在するの?
2015/01/17(土) 13:53:08.06ID:mRmuykHW
>>93
つ 82
2015/01/17(土) 14:14:21.65ID:Yl6neHYv
トリビットとかも理解できないんだろうなぁ・・・
2015/01/17(土) 17:22:25.98ID:tGLlBodX
名前の欄に書くやつだろ
2015/01/17(土) 19:32:14.07ID:Yl6neHYv
それはトリップ。
2015/01/17(土) 20:35:33.32ID:0OnY28YT
寄席で最後に出演する人
2015/01/17(土) 20:44:11.57ID:Yl6neHYv
それは主任(ェ
2015/01/17(土) 21:03:47.68ID:mRmuykHW
水素が3つくっついた奴だろ
2015/01/17(土) 21:07:46.24ID:EcNq8Nj3
それはトリチウム
2015/01/18(日) 00:59:06.62ID:CVVVMwaI
これは公明の罠・・・
2015/01/18(日) 02:52:15.15ID:MBrzsoFL
>>93
適当にググっただけだけど、例えばこの規格とか読めば?
http://www.etsi.org/deliver/etsi_ts/102300_102399/10236101/02.03.01_60/ts_10236101v020301p.pdf
2015/01/18(日) 03:13:31.26ID:3n+OvDNp
>>93
バイトが8bitとは限らんのですよ?
2015/01/18(日) 03:29:59.19ID:WZ5PXEHk
>>104
RFCに乗るレベルのルールでは見たことないな
もし知ってたら教えて
2015/01/18(日) 03:39:36.95ID:MBrzsoFL
>>104
だから>>93は「オクテット」と言ってるんだと思うが・・・

>>105
RFCは8bit以外の処理系に対しても考慮されてるよ。
というか、RFC 821とか初期のものはむしろ7bitしか考慮してない。
2015/01/18(日) 09:46:25.81ID:JqDMmSuU
>>104
バイトは8以外無い
2015/01/18(日) 10:56:52.92ID:m/KIQPk5
http://ja.wikipedia.org/wiki/%E3%83%90%E3%82%A4%E3%83%88_%28%E6%83%85%E5%A0%B1%29
>初期のコンピュータの多くでは6ビット、また7ビットや9ビットとして扱うコンピュータもあった。
一バイト=7ビット、9ビットも現役だよ
2015/01/18(日) 11:38:33.32ID:JqDMmSuU
35年前に一般化したものを今更拘るって
2015/01/18(日) 12:40:33.19ID:IBchHXID
8bit長のかたまりを オクテット と呼んで、
バイトとは言わないのはそういうこっちゃ
2015/01/18(日) 16:55:16.93ID:MBrzsoFL
>>109
35年前には既に一般化した常識すら知らないってのは恥ずかしいだろ
2015/01/18(日) 17:18:36.78ID:dynhNw9Z
uunet世代の爺か
2015/01/18(日) 17:33:55.24ID:MBrzsoFL
>>112
自分が常識知らないからって
一般人をバカにし始めるのは見てて痛々しい
2015/01/18(日) 17:34:06.86ID:S4U+0NWo
普通kermit
2015/01/18(日) 19:24:57.10ID:JqDMmSuU
>>111
眠いの?
よく頭を回そう
2015/01/18(日) 21:57:20.70ID:HIbRVGGu
>>113
>一般人
一般人は知らないだろうwww
2015/01/18(日) 22:28:24.20ID:MBrzsoFL
>>116
いや、>>109曰く一般化したらしいからそれに合わせてやっただけ。
2015/01/18(日) 22:45:28.34ID:JqDMmSuU
>>117
それは>>108
2015/01/20(火) 20:38:30.06ID:yKm+pOkC
Protocol Buffers, MessagePack, Apache Thrift
ならどれがシェア持ってますか?
これからの時代スタンダードになるのはどれだと思いますか?
2015/01/20(火) 21:18:25.41ID:z+BmDCCd
ONC RPC
2015/01/20(火) 22:45:57.33ID:QKaUoeyL
最近はATMじゃなくてMPLSだそうな
2015/01/21(水) 01:55:13.51ID:Bf8i4DaT
TCPみたいなUDPってなんだっけ?
ここ10年くらいで出てきた比較的新しいやつ
2015/01/21(水) 07:38:57.86ID:as7mD5RN
RFC4960 SCTP ?
2015/01/22(木) 01:14:40.47ID:WqP6en+9
>>123
それだ! ありがとう!
2015/01/26(月) 17:23:47.69ID:lE9jmLqt
質問というか丸投げになってしまうのですが、チャットサーバー・クライアントの製作課題が出ました
http://uproda.2ch-library.com/855889dN8/lib855889.txt
http://uproda.2ch-library.com/855890Lho/lib855890.txt

穴埋めになっていますので暇つぶしにでもお手伝いいただければうれしいです
2015/01/26(月) 17:30:26.04ID:KGAy5TXP
>>125
スレ違い
2015/01/26(月) 17:30:51.39ID:xvmTehhn
>>125
死ねばいいと思うぞ
2015/01/26(月) 19:50:42.64ID:XNIaxWEk
>>125
宿題は宿題スレで
2015/01/26(月) 20:49:03.72ID:02Ei+eRX
>>125
逝ってよし
2015/01/27(火) 00:33:25.05ID:YQSfawfj
すぐちねって言ったらダメだよってお母さんに教えられなかったの?
2015/01/27(火) 02:27:52.22ID:giSzTswg
じゃあ、ゆっくりちね
2015/01/27(火) 07:59:29.53ID:YQSfawfj
「すぐ」は「言う」にかかってるんだよ
2015/01/27(火) 08:08:06.99ID:8B0JwzTe
じゃあ、ち………ね………
2015/01/27(火) 08:20:11.55ID:YQSfawfj
お、おう…。
2015/01/27(火) 09:33:36.48ID:FEb69LrR
ネタをねたと
2015/02/11(水) 20:09:15.11ID:va9r3P/6
高度なネットワーク扱う奴らのスレとは思えんな
2015/02/11(水) 20:31:36.75ID:L8105ENw
高度なネットワークとは通信衛星のことか?
2015/02/11(水) 20:58:38.63ID:jSeyXlmJ
高度なネタを扱うスレだな
2015/02/11(水) 21:57:45.56ID:djj56cw+
高度なネットワークとは自己増殖するネットワークのことか?
140デフォルトの名無しさん
垢版 |
2015/02/12(木) 15:35:48.18ID:NmXHf2UC
Aht Uh Mi Hed
2015/02/13(金) 22:39:21.27ID:roa7ILB/
FiddlerCoreの話題はどちらで?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況