トップページ⇒tech
1001コメント319KB

ネットワークプログラミング相談室 Port29

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2012/10/31(水) 17:05:08.29
主にソケットに関しての質疑応答スレッドです。

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/

関連スレ
ネットワークプログラミング雑談
http://toro.2ch.net/test/read.cgi/tech/1235800707/
0002デフォルトの名無しさん2012/10/31(水) 21:07:02.24
過去スレ:
Port28 ttp://toro.2ch.net/test/read.cgi/tech/1334736934/
Port27 ttp://toro.2ch.net/test/read.cgi/tech/1293284816/
Port26 ttp://hibari.2ch.net/test/read.cgi/tech/1269343909/
Port25 ttp://pc12.2ch.net/test/read.cgi/tech/1255459388/
Port24 ttp://pc12.2ch.net/test/read.cgi/tech/1246895188/
Port23 ttp://pc12.2ch.net/test/read.cgi/tech/1230466044/
Port22 ttp://pc11.2ch.net/test/read.cgi/tech/1222603744/
Port21 ttp://pc11.2ch.net/test/read.cgi/tech/1204287577/
Port20 ttp://pc11.2ch.net/test/read.cgi/tech/1186418855/
Port19 ttp://pc10.2ch.net/test/read.cgi/tech/1159692799/
Port18 ttp://pc11.2ch.net/test/read.cgi/tech/1171029896/
Port17 ttp://pc8.2ch.net/test/read.cgi/tech/1148944560/
Port16 ttp://pc8.2ch.net/test/read.cgi/tech/1136005644/
Port15 ttp://pc8.2ch.net/test/read.cgi/tech/1128088448/
Port14 ttp://pc8.2ch.net/test/read.cgi/tech/1118469143/
Port13 ttp://pc8.2ch.net/test/read.cgi/tech/1109793931/
Port12 ttp://pc5.2ch.net/test/read.cgi/tech/1102427855/
Port11 ttp://pc5.2ch.net/test/read.cgi/tech/1096187183/
Port10 ttp://pc5.2ch.net/test/read.cgi/tech/1090385857/
Port9 ttp://pc5.2ch.net/test/read.cgi/tech/1080658835/
Port8 ttp://pc5.2ch.net/test/read.cgi/tech/1073560271/
Port7 ttp://pc5.2ch.net/test/read.cgi/tech/1063035045/ ★行方不明
Port6 http://pc5.2ch.net/tech/kako/1052/10521/1052106444.html
Port5 http://pc2.2ch.net/tech/kako/1040/10402/1040220302.html
Port4 http://pc3.2ch.net/tech/kako/1034/10342/1034236536.html
Port3 http://pc3.2ch.net/tech/kako/1023/10233/1023359282.html
Port2 http://pc.2ch.net/tech/kako/1006/10062/1006258198.html
Port1 http://pc.2ch.net/tech/kako/970/970344582.html
0003デフォルトの名無しさん2012/10/31(水) 21:07:49.38
図書コーナー:
UNIXネットワークプログラミング〈Vol.1〉ネットワークAPI:ソケットとXTI
 http://www.amazon.co.jp/exec/obidos/ASIN/4894712059/
 そのソースコード
 http://www.unpbook.com/src.html
詳解TCP/IP〈Vol.1〉プロトコル
 http://www.amazon.co.jp/exec/obidos/ASIN/4894713209/
詳解TCP/IP〈Vol.2〉実装
 http://www.amazon.co.jp/exec/obidos/ASIN/4894714957/
詳解TCP/IP〈Vol.3〉トランザクションTCP, HTTP, NNTP, UNIXドメインプロトコル
 http://www.amazon.co.jp/exec/obidos/ASIN/4894716674/
TCP/IPによるネットワーク構築
 〈Vol.1〉原理・プロトコル・アーキテクチャ
  http://www.amazon.co.jp/exec/obidos/ASIN/432012054X/
 〈Vol.3〉クライアント‐サーバプログラミングとアプリケーション
  http://www.amazon.co.jp/exec/obidos/ASIN/4320028007/
  Linux/POSIXソケットバージョン
  http://www.amazon.co.jp/exec/obidos/ASIN/4320120841/
  Windowsソケットバージョン
  http://www.amazon.co.jp/exec/obidos/ASIN/4320029992/
0004デフォルトの名無しさん2012/10/31(水) 21:09:03.17
マスタリングTCP/IP RTP編
 http://www.amazon.co.jp/exec/obidos/ASIN/4274065618/
Linuxソケットプログラミング?ネットワークプログラミングにおける実践技法
 http://www.amazon.co.jp/exec/obidos/ASIN/4894714671/
Webプロトコル詳解?HTTP/1.1、Webキャッシング、トラフィック特性分析
 http://www.amazon.co.jp/exec/obidos/ASIN/4894715414/
WinSock2.0プログラミング
 http://www.amazon.co.jp/exec/obidos/ASIN/4797306882/
猫でもわかるネットワークプログラミング
 http://www.amazon.co.jp/exec/obidos/ASIN/4797323604/
IPv6ネットワークプログラミング
 http://www.amazon.co.jp/exec/obidos/ASIN/4756142362/
Visual Basicではじめるネットワークプログラミング超入門
 http://www.amazon.co.jp/exec/obidos/ASIN/4839917523/
0005デフォルトの名無しさん2012/10/31(水) 21:09:43.81
URL抜粋:
★規格
RFC 日本語版リスト
 http://www5d.biglobe.ne.jp/~stssk/rfcjlist.html
JPNIC RFC関連リンク集
 http://rfc-jp.nic.ad.jp/link/
RFC Editor
 http://www.rfc-editor.org/
HTMLなRFC (セクションを直に示すのに便利)
 http://www.freesoft.org/CIE/RFC/
RFC 2616 "Hypertext Transfer Protocol -- HTTP/1.1" 日本語訳
 http://www.studyinghttp.net/cgi-bin/rfc.cgi?2616
IANA Well known port numbers
 http://www.iana.org/assignments/port-numbers
0006デフォルトの名無しさん2012/10/31(水) 21:10:24.78
★プログラミング
C10K ヘヴィーロードサーバ
 http://www.kegel.com/c10k.html
C10K ヘヴィーロードサーバ(日本語訳)
http://www.hyuki.com/yukiwiki/wiki.cgi?TheC10kProblem
MSDN
 http://msdn.microsoft.com/library/en-us/dnsitehelp/html/tochelp.asp
Raw IP Networking FAQ
 http://www.whitefang.com/rin/
Java で packet capture
 http://netresearch.ics.uci.edu/kfujii/jpcap/doc/
Randomness Recommendations for Security
 http://www.faqs.org/rfcs/rfc1750.html
BoostSocket
 http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?BoostSocket
The Code Project - Internet & Network programming
 http://www.codeproject.com/internet/
ネットワークプログラミングの基礎知識 (問題ありのサイト?)
 http://X68000.q-e-d.net/~68user/net/
0007デフォルトの名無しさん2012/10/31(水) 22:06:48.57
★ツール類
ethereal - http://www.ethereal.com/
Wireshark - http://www.wireshark.org/
tcpdump - http://www.tcpdump.org/
Windump - http://netgroup-serv.polito.it/netgroup/tools.html
WinPcap - http://www.winpcap.org/
pathchar - ftp://ftp.ee.lbl.gov/pathchar/
pchar - http://www.employees.org/~bmah/Software/pchar/
Packetyzer - http://www.networkchemistry.com/products/packetyzer/
libevent - http://www.monkey.org/~provos/libevent/

★プロトコル
TTCP
 http://www.sean.de/Solaris/ttcp.html
 http://www.kohala.com/start/ttcp.html
UDP Hole Punching
 http://homepage3.nifty.com/toremoro/p2p/firewall.html

★IP, TCP実装
http://www.iti.fi/documentation/miniip.html
http://www.sics.se/~adam/uip/
http://www.codeguru.com/Cpp/I-N/network/tcpip/article.php/c5447/
http://www.geocities.jp/bruce_teller/security/garakuta.htm
0008デフォルトの名無しさん2012/10/31(水) 22:14:14.78
ではご相談を受け付けます。

最初の方、どうぞ。
0009デフォルトの名無しさん2012/10/31(水) 22:22:29.14
最近、なんだか元気がなくなってしまって・・・
0010デフォルトの名無しさん2012/10/31(水) 22:39:20.81
>>9
つ http://www.zakzak.co.jp/gravure/idol/photos/20121031/idl1210311531000-p20.htm
0011デフォルトの名無しさん2012/10/31(水) 22:43:48.75
その手のしまりのない肉塊を見ると、吐き気がするんだ・・・
0012デフォルトの名無しさん2012/11/01(木) 09:17:38.64
>1000
インターネットを創ったのは
LinuxじゃなくてBSD
これ豆な
0013デフォルトの名無しさん2012/11/01(木) 09:42:08.38
>>12
「インターネット」じゃなくて"Internet"
これまめな
0014デフォルトの名無しさん2012/11/01(木) 10:12:35.12
>>13
"Internet"じゃなくて"The internet"
これまめな
0015デフォルトの名無しさん2012/11/01(木) 10:28:28.78
BSDが作ったのはインターネットじゃなくてアーパネットじゃね?
0016デフォルトの名無しさん2012/11/01(木) 11:40:55.70
>>14
"internet"を挟むんだった、残念
0017デフォルトの名無しさん2012/11/01(木) 13:54:07.76
BSDが作ったのはSocketインターフェース
0018デフォルトの名無しさん2012/11/01(木) 18:35:47.78
最初期のインターネットにUNIXはあまり貢献してないです。
1980年くらいになってようやくUNIX上のサーバ実装が定着してきました。
それまでは370とかSDSとかPDPとか。
0019デフォルトの名無しさん2012/11/02(金) 01:14:02.89
Linux(CentOS6.3-x64)でルーティングをいじってて気づいたのですが
自身からルーティング不能なIPアドレスからパケットを入力した場合
OSにはパケットは届いても、プロセスまで到達しないようです。

OSが自身からルーティング不能のホストからの入力の場合には捨ててそうだ
というところまでは分かりました。
でもパケットそのものはせっかく届いているし
プロセスが受信できても良さそうなもんだな、と思ってしまいます。
この破棄動作は何か意味、というか意図が含まれているのでしょうか?
0020192012/11/02(金) 01:17:41.31
例えば:
 [ホストA] <==> [L3SW] <==> [ホストB]
   ホストA(Linux): 192.168.1.1/24、*ルーティングの設定なし*
   L3SW: (左側)192.168.1.254/24 (右側)10.1.1.254/8
   ホストB: 10.1.1.1/8、defautGWは10.1.1.254
 1)ホストAで、UDPポート12345で受信待ち
 2)ホストBで、ホストAのUDPポート12345に送信
 3)ホストAにて、受信しない

・ホストAで、キャプチャするとパケットの入力は確認できます。
・netfilterにおいて、PREROUTNIGには到達しますが、INPUTにもFORWARDにも到達していないようです。
・ためしに、ホストAでルーティングを設定すると、プロセスはパケットを受信できる。
・ホストAでのルーティングは、本質的には到達不能な設定とかちょっと変でも受信できます。
 上の例いえば、default via 192.168.1.1/24 を設定する (自分自身がNexthop) とか。
0021デフォルトの名無しさん2012/11/02(金) 07:24:25.28
>>19
自分宛のパケットか判断する前の話?後の話?
0022デフォルトの名無しさん2012/11/02(金) 09:20:18.07
RPFじゃないの?
0023デフォルトの名無しさん2012/11/02(金) 10:33:50.16
ちょっと違う話かなと思うけど良かったらお願いします
DNSの安全性をチェックするプログラム書きたいんだけど基本的に問い合わせクエリに対するレスポンスを解析して安全性の基準と比較するって形なのかな
0024デフォルトの名無しさん2012/11/02(金) 10:40:55.80
DNSの何の安全性?
0025デフォルトの名無しさん2012/11/02(金) 11:11:54.12
基本的に外部からの脅威(キャッシュポイズニングとか)に対する安全性ですかね
例えばDNSサーバが再帰クエリを返すかとかポートがランダムかとかの判断をさせることになるはずだと思います
既にこういうサービスは結構あるといえばあるようだけど…

アクセスしてきた人の使ってるDNS判定してそこにチェック用のクエリを送ってそのレスポンスで判断という流れになるのかなって
安全かどうかの基準はRFCをよく確認する必要がありそう
0026デフォルトの名無しさん2012/11/02(金) 11:26:27.45
何が質問したいのかわかってない質問者に何を答えろと?
0027デフォルトの名無しさん2012/11/02(金) 11:30:06.13
DNS関連のRFC読んでたらそれだけで3ヶ月はかかると思われ
0028デフォルトの名無しさん2012/11/02(金) 11:31:19.01
>アクセスしてきた人の使ってるDNS判定して

そんなこと出来るのか
すげー
0029デフォルトの名無しさん2012/11/02(金) 11:32:27.60
質問の趣旨も理解せずに主義を語るのが病気持ちプログラマの特徴
0030デフォルトの名無しさん2012/11/02(金) 11:53:49.39
DNSのポートってランダムなの?
0031デフォルトの名無しさん2012/11/02(金) 12:09:35.16
>>30
送信元ポートをクエリごとにランダムにすることで攻撃の成功率を下げる意味がある
0032デフォルトの名無しさん2012/11/02(金) 12:20:17.70
>>30
ランダムにするのはクライアント側の話な。
0033デフォルトの名無しさん2012/11/02(金) 13:37:32.45
    ,.. '"  ,:   ̄ ヽ 、、    
   ,.' , /. / l |、 、:::::::゙'.    
  l ,' iー-'、 ヽ;゙ー- l、:.:::::::│   
  l !//lんl  lん:lY`:i :、 :│  
  lヘj、 V:リ  V::リノ、:| lナ │  
   〈 "     ¨ " | レ゙::│    かれのあたまのなかわかるんだけど 
   l>...._ 、ー-、 _,.ィV::::: i   
    |:::::,イヽ:又 ̄ヽ' ::::::::│
    |:/ ゝヽ∨/'  ヽ::::::│  
    /           ヽ:| 
0034デフォルトの名無しさん2012/11/02(金) 23:27:21.28
libnetlinkについての日本語の情報(ブログ,本等)ないかなぁ. スレチか...
0035デフォルトの名無しさん2012/11/03(土) 02:01:10.12
>>22
どうやら当たりでした。
なるほど。ありがとうございます。
0036デフォルトの名無しさん2012/11/15(木) 10:17:28.59
漠然とした質問ですので、適当にアドバイスお願いいたします。

これからモバイル(スマホやタブレット端末)相手のソフトを作ろうと考えています。
アプリは社内システムの延長です。
社内システムはC++BuilderとSQLServerでシコシコ10年以上やってきました。
なんだか浦島太郎みたいなおじさんですが、いろいろ調べてAdobeのFlashBuilderで
やるのが簡単そうだ、ということで使用ライセンスを得ました。
で、端末相手のサーバーはどうする?
ということでC++Builderに付属のIndyコンポーネントを初めていじっていけそうな感触を得ました。
スレッドを意識しなくても書けそうです。
しかし、ここから進みません。
どういうプロトコルで上位のデータのやりとりをするのが合理的かということです。
WebサービスだのSOAPだのちんぷんかんぷんです。
0037デフォルトの名無しさん2012/11/15(木) 10:30:58.51
Flashはオワコン
0038デフォルトの名無しさん2012/11/15(木) 10:38:48.63
やる気がありませんと言ってる奴に何をアドバイスする事があると言うのか
0039デフォルトの名無しさん2012/11/15(木) 16:28:18.57
>>36
すきにすれば
0040デフォルトの名無しさん2012/11/15(木) 16:31:18.35
HTTPベースのサーバアプリ書いてもいいし、TCP/IPベースの独自サーバ書いても何やってもできそうなもんだが。
おじさんになると、検索もできないし、書店に行くこともできなくなるのか。やだやだ。
0041デフォルトの名無しさん2012/11/15(木) 18:03:27.18
>>36
クライアントはブラウザで。
0042デフォルトの名無しさん2012/11/15(木) 18:08:50.66
>>40
最初はその独自サーバーで行こうかと考えましたが、
もっと定型的で簡単な方法があるのかなと調べている途中でした。

昔のDOS時代にもモデムを使って独自のフォーマットで
やりとりした事があるのですが、あんまり練った仕様じゃなかったので
簡単な拡張もできなかった経験があります。

どうもお騒がせしたしました。
0043デフォルトの名無しさん2012/11/15(木) 18:22:19.68
>>42
> 最初はその独自サーバーで行こうかと考えましたが、
> もっと定型的で簡単な方法があるのかなと調べている途中でした。

「独自サーバー」の通信部分は定型的で簡単に書けます。
誰が書いても、通信部分はまあ似たようなものになるでしょう。方式は何パターンかありますが。
要するに、Socketを使ったサーバアプリを書いたことないってだけでしょ。

> もっと定型的で簡単な方法

が、HTTP上にのっけるアプリなんですが。
どんな言語でも"Hello, World!"を返すぐらいのレベルなら、すぐに作れるでしょう。
HTTPを返すのが嫌なら、JSONを返したり。

> いろいろ調べて

いや、調べてないでしょ。あるいは壊滅的に調べるのが下手とか。
本屋行きなさいよ。
0044デフォルトの名無しさん2012/11/15(木) 20:00:53.08
浦島じいさんなのだろう
0045デフォルトの名無しさん2012/11/15(木) 22:44:52.57
>>40-44
おまえら餌もついてない釣り針に食いつくタイプだろ?
0046デフォルトの名無しさん2012/11/16(金) 01:52:22.23
これが後釣り宣言という香具師か
0047デフォルトの名無しさん2012/11/16(金) 13:37:27.61
>>43
どうも、ありがとう。
あれからFlash Builderの側(クライアント)を調べたら素のTCP/IPの選択肢はありませんでした。
HTTP、PHP、XML、Webサービスとあと聞いたことないやつ3点のどれかです。
お粗末さまでした!
0048デフォルトの名無しさん2012/11/16(金) 14:24:37.29
もう、自分が何を言ってるのかもわからない状態。
0049デフォルトの名無しさん2012/12/15(土) 16:40:50.41
初歩的な質問かと思いますがよろしくお願いします。環境はWindows7, Visual c++2010です。

proxyサーバー越しにネットワークに接続するにはどうすれば良いでしょうか。

現在は、単純にSOCKETを作って、サーバーにconnectしてGET メッセージを送るという方法を使用しています。
しかし、今後はproxyサーバー越しに、ネットワークに接続する必要が出来ました。

proxyサーバーを介する場合、接続先サーバーをproxyサーバーにして、本当に接続したいURLをGET以降に
記述したらいいということまではわかりました。
しかしユーザー名とパスワードの必要なproxyサーバーのため、usernameとpassをどのように設定すればよいか
解りませんでした。
ユーザー名とパスワードを入れずにそのまま接続すると、やはり HTTP 407 が帰ってきます。
0050デフォルトの名無しさん2012/12/15(土) 16:59:22.13
プロキシサーバを構築された方に相談して下さい。
第三者には認証の仕組みが解らないのでアドバイスが困難です。
0051デフォルトの名無しさん2012/12/15(土) 21:59:27.49
>>49
IE とかなら接続できるんでしょ?
なら、wireshark とかでパケット見ればいいんじゃね。
0052デフォルトの名無しさん2012/12/19(水) 23:17:11.99
rfc 2617 を読め、とマジレスしてみる。
0053デフォルトの名無しさん2012/12/22(土) 00:19:44.92
生データからアプリケーションプロトコルをデコードしたいんだけどよくわからない
クラスでプロトコル定義するのにどういう風に設計したらいいのだろう
単純にunpackして分割してみたりはした
0054デフォルトの名無しさん2012/12/28(金) 23:20:36.44
おーい、エスパー
0055デフォルトの名無しさん2012/12/29(土) 20:15:18.48
無理!
0056デフォルトの名無しさん2012/12/29(土) 23:54:31.53
エスパーじゃないけど, 挑んでみる

> 生データからアプリケーションプロトコルをデコード
暗号買得と一緒で, パーターン解析して頻度計算すれば
運が良ければヘッダーくらいは抽出できるかも知れない

> クラスでプロトコル定義する
インタプリタパターンってのが王道らしいぞ

yacc とか bison とか(じゃなくてもいいけど, オートマトン
ジェネレータ的なもの)使えばもっと楽できるかも

おそらく, 全然, 別の話なんだろうな w
0057デフォルトの名無しさん2013/01/01(火) 01:49:27.21
エスパーとかいうまでもなく言葉通りパケットの生データから中身を解析するって話だろ
tcpdumpとかwiresharkみたいに
オブジェクト指向の言語で同じことするのに設計というか実装するのに悩んでるんじゃないの?
0058デフォルトの名無しさん2013/01/01(火) 09:43:35.59
買得w
0059デフォルトの名無しさん2013/01/08(火) 12:04:02.25
区
0060デフォルトの名無しさん2013/01/08(火) 12:10:55.49
上ミス

IOCPでUDPの送受信って出来ないのかな
ネットでサンプル探してるがTCPしか見つからん
自分でいろいろ組んでみたんだけど送信した後にGetQueuedCompletionStatusがエラー返してくる
受信する相手がいる場合はエラーにならない。相手がいない場合だけエラーになる。
もしかしてTCPみたいに接続が確立されてないと使えないのかな?
0061デフォルトの名無しさん2013/01/08(火) 12:24:56.58
>>60
できる
ソケットのみで送受信できるようにbindしておくよろし
0062デフォルトの名無しさん2013/01/08(火) 12:39:08.79
OSはまあ関数名でわかるけど、
(AIXもIOCPはあるんやで)
どんなエラーか書いてね。
それから相手ポートが閉じてる時にどうなって欲しいの?
0063デフォルトの名無しさん2013/01/08(火) 14:38:31.89
受信もしてるからbindはしてる
返ってくるエラーはERROR_PORT_UNREACHABLE
相手がいてもいなくても、ただ単純に受信待ちしつつ周期でデータ送りたいだけ
0064デフォルトの名無しさん2013/01/08(火) 14:54:34.79
port unreachableならTCPでも同じ。
コード書いてリトライしてください。
0065デフォルトの名無しさん2013/01/08(火) 15:18:10.84
そうかー。とりあえずエラー無視して続行しても大丈夫みたいなんだよね。
IOCPのハンドル閉じるまで処理巻き戻しとかしなくていいんであれば無視でいいかな・・・
0066デフォルトの名無しさん2013/01/13(日) 01:43:26.26
ローカルなファイルへの書き込みをするときのように
write(client)からclose(client)の間にfflush(client)をするべきでしょうか?
0067デフォルトの名無しさん2013/01/13(日) 01:56:39.27
そうまでして省く必要があるのか?
0068デフォルトの名無しさん2013/01/13(日) 13:40:48.75
close()はflush()もしてくれるだろ
0069デフォルトの名無しさん2013/01/13(日) 15:03:21.83
そもそもsocketにbuffer flushは無いだろ
気にせせずcloseして帰り値は捨てて良い
ネットワークアプリケーションは信頼性が低いというのは、知識に欠けるユーザーでも信頼性が低いと知ってるから、エラーがでてもあまり気にしない
0070デフォルトの名無しさん2013/01/13(日) 15:10:22.41
>>69
>気にせせずcloseして帰り値は捨てて良い

こういう奴が作るネットワークアプリケーションの信頼性は低いんだろうな。
0071デフォルトの名無しさん2013/01/13(日) 15:50:01.05
すいません
結局のところバッファの掃き出しはどうすべきなんでしょうか?
0072デフォルトの名無しさん2013/01/13(日) 16:44:12.28
プロトコルで終わりが決められてるんでもなけりゃ
いくらフラッシュしたところで閉じるまでにまたデータ来るかもしれんし
閉じる必要があるときに閉じるだけでいいだろ。
0073デフォルトの名無しさん2013/01/13(日) 16:49:39.38
気になるならするべき
0074デフォルトの名無しさん2013/01/13(日) 16:53:04.62
>>72
> いくらフラッシュしたところで閉じるまでにまたデータ来るかもしれんし

意味がわからん。
ひょっとして受信側で flush するとかしてるのか?
0075デフォルトの名無しさん2013/01/13(日) 18:45:01.08
その前にflushするAPIなんてあったか?見たこと無いぞおれ
0076デフォルトの名無しさん2013/01/13(日) 18:55:33.43
flush する API じゃないけど, setsockopt で SO_LINGER と
TCP_NODELAY を突くくらいかなぁ
0077デフォルトの名無しさん2013/01/13(日) 19:01:28.37
あと, 到達確認的な意味だと
送り側 shutdown(..., SHUT_WR)
|
v
受け側 if (read(...) == 0) { shutdown(..., SHUT_RDWR); }
|
v
送り側 if (read(...) == 0) {shutdown(..., SHUT_RD); }
とか, かなぁ
0078デフォルトの名無しさん2013/01/14(月) 02:36:54.80
クライアントのソケットで、同じポートにbindしてもエラーにならないんだけど、これってやってもおk?
下のコードの後、別々のところにconnectしても普通に通信続けられるみたいだけど。
仕様上の理由でポート固定なんだ。

local.sin_port = htons(12345);

SOCKET sock1 = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
SOCKET sock2 = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);

int on = 1;
setsockopt(sock1, SOL_SOCKET, SO_REUSEADDR, (char*)&on, sizeof(on));
setsockopt(sock2, SOL_SOCKET, SO_REUSEADDR, (char*)&on, sizeof(on));

bind(sock1, (sockaddr*)&local, sizeof(local));
bind(sock2, (sockaddr*)&local, sizeof(local));
0079デフォルトの名無しさん2013/01/14(月) 03:47:55.15
ok
0080デフォルトの名無しさん2013/01/14(月) 16:57:55.78
>>78
TCPのstremは、
<src addr, src port, dst addr, dst port>
の四つ組で識別される。つまりひとつでも違えば別のstream。
0081デフォルトの名無しさん2013/01/15(火) 21:33:07.75
>>79, 80
そういうことか、わかった。
0082デフォルトの名無しさん2013/01/15(火) 22:23:39.87
ひょっとしてTCP/IPの勉強をしても
socketプログラミングにあまりはやくに立たないんですか?
0083デフォルトの名無しさん2013/01/15(火) 23:36:48.62
役に立つわ
0084デフォルトの名無しさん2013/01/16(水) 02:42:24.01
甘利早くも役に立たない。ちくしょ〜ユーロ円が台無し
0085デフォルトの名無しさん2013/01/16(水) 03:47:25.08
>>82
TCP/IPの知識が無ければ、Socketを使ったTCP/IPプログラムでトラブルが
発生したときに、原因を究明することは出来ないだろうな。
0086デフォルトの名無しさん2013/01/16(水) 07:36:48.74
>>84
計算しょうか
0087デフォルトの名無しさん2013/01/18(金) 14:02:30.24
他人の通信の傍受ってどうやるんですか?
0088デフォルトの名無しさん2013/01/18(金) 14:04:29.67
>>87
他人の通信を傍受すればできます。
0089デフォルトの名無しさん2013/01/18(金) 14:24:29.60
>>87
スイッチのバッファをあふれさせる
0090デフォルトの名無しさん2013/01/18(金) 18:00:48.87
>>84
ニューロコンピュータ?
0091デフォルトの名無しさん2013/01/18(金) 20:20:39.65
サブネット内ならARP PROXYでトラフィックを誘導する
0092デフォルトの名無しさん2013/01/18(金) 21:19:42.25
>>87
他人の背後で画面を覗き込む。
0093 ◆wSaCDPDEl2 2013/01/18(金) 23:02:26.89
てst
0094 ◆wSaCDPDEl2 2013/01/18(金) 23:04:16.41
2chのdat読み込むとトリップ付けたときの名前が</b> ◆wSaCDPDEl2 <b>のように<b>タグで囲まれてるんだけど
普通<b> ◆wSaCDPDEl2 </b>じゃないですか?
なんで逆になってるんですかね?
0095デフォルトの名無しさん2013/01/19(土) 00:22:28.22
</b>したいからです。
0096デフォルトの名無しさん2013/01/19(土) 00:53:03.70
名前は<b>タグで太字表示になっている。
トリップは標準フォントになっている。
で、名前をつけないでトリップだけつけるから名前の<b>タグを
閉じるために頭に</b>がつけてあるんだと思われる。
0097デフォルトの名無しさん2013/01/19(土) 00:55:49.45
なるほど
わかりましたありがとうございます
0098デフォルトの名無しさん2013/01/19(土) 09:04:34.79
>>90
県央の土権屋のことだろう
0099デフォルトの名無しさん2013/01/19(土) 12:10:58.99
マイiPhoneからのみアクセスを許可したサーバーを構築したいのですが
マイiPhoneを識別するにはどうすれば良いとおもいますか?
0100デフォルトの名無しさん2013/01/19(土) 12:47:33.82
つ認証
0101デフォルトの名無しさん2013/01/19(土) 12:48:37.24
証明書を発行してインストールする
0102デフォルトの名無しさん2013/01/19(土) 13:15:28.65
sslでユーザ証明書に途中からする時って脆弱性なかったっけ。
■ このスレッドは過去ログ倉庫に格納されています