ネットワークプログラミング相談室 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/
2015/07/17(金) 07:58:36.57ID:RkCxot4l
それじゃhttpとかのリクエストが全部届いてるかどうかっていうのはどう判断されてるんですか?
バージョンとかプロトコルとか固定長じゃないですよね
154デフォルトの名無しさん
垢版 |
2015/07/17(金) 08:10:22.47ID:+FHXrpJO
>>153
時間が過ぎたらアウトにします。
HTTPプロトコルバージョンは有れば事実上固定長です。
2015/07/17(金) 09:19:42.59ID:BBDHWoEk
ゴーストプロトコルが発令されました。今後当局は一切関わりありません。
2015/07/17(金) 09:34:45.08ID:5oY9arH6
>>152
データの並びが送信側を同じになるってだけ

送信側 [ABC]送信 続いて [abcd]送信 と送った場合

最終的に ABCabcd が得られることは保証するけど
1回の recv でやってくる塊がどうなるかは保障していない

全て分断で7回の recv: [A] [B] [C] [a] [b] [c] [d]
連結された1回の recv: [ABCabcd]
分断と部分連結で2回の recv: [AB] [Cabcd]
これら全てが起きえます
2015/07/17(金) 10:53:27.81ID:amtl7PFW
>分断と部分連結で2回の recv: [AB] [Cabcd]

これ結構ふつうに起こる
2015/07/17(金) 11:48:11.22ID:5oY9arH6
おっと
送信側と同じ区切りで2回の recv: [ABC] [abcd]
が抜けてたな

・先頭記号 - 終端記号 で区切る
・(固定長の)ヘッダに後続のデータサイズをおいて、受信データサイズで区切る
・情報やりとり毎にセッションを張りなおす:
 送信側 送ってcloseする
 受信側は recv 0 を受け取ったところがデータ終端
2015/07/17(金) 14:25:09.32ID:3XhqrMtV
馬鹿のひけらかしw
2015/07/17(金) 21:00:07.04ID:s3h+5IcC
>>158
ありがとう
・先頭記号や終端記号が分割された場合
・固定長のヘッダが分割された場合
それぞれどうするのがセオリー?
161デフォルトの名無しさん
垢版 |
2015/07/17(金) 21:26:41.05ID:amtl7PFW
固定長のヘッダハ固定長なんだから
固定長に達するまで読むまで
2015/07/17(金) 21:46:28.55ID:R2Je5ZhD
>>160
先頭記号や終端記号は分割されないように1オクテットにするのが簡単
ユニークな記号なら複数オクテットでも処理できるけどね
2015/07/17(金) 23:12:17.45ID:s3h+5IcC
ありがとう

>>161
俺がバカだった

>>162
TCPの場合どれだけ分割が起こっても最小単位は1オクテットって事かな
2015/07/17(金) 23:20:41.50ID:R2Je5ZhD
>>163
そう
8ビット未満に分割されることはあり得ない
2015/07/17(金) 23:24:48.80ID:s3h+5IcC
>>164
ありがとう
166デフォルトの名無しさん
垢版 |
2015/08/11(火) 13:33:44.72ID:fkTw/rrH
CでDNSリゾルバを作っているのですが、テスト用のアドレスでlookupすると
逆引き用のホストが数台出てきます。これはどうしてなんでしょうか。
以下実行結果です。よろしくお願いします。
$ nslookup 157.82.13.243

243.13.82.157.in-addr.arpa name = ee.t.u-tokyo.ac.jp.
243.13.82.157.in-addr.arpa name = eeis.t.u-tokyo.ac.jp.
243.13.82.157.in-addr.arpa name = eegw.ee.t.u-tokyo.ac.jp.
243.13.82.157.in-addr.arpa name = maxwell.ee.t.u-tokyo.ac.jp.
243.13.82.157.in-addr.arpa name = ccs.t.u-tokyo.ac.jp.

Authoritative answers can be found from:
13.82.157.in-addr.arpa nameserver = ns1.t.u-tokyo.ac.jp.
2015/08/11(火) 14:45:40.36ID:pn8MVOPM
ip-address : host name = 1 : 1な世界にいるのか
2015/08/12(水) 09:49:26.97ID:+VWy6X24
>>166
それが普通
2015/08/27(木) 20:26:59.68ID:dowPTGl5
linux C++な人はやぱsocket系はclibなので
自分でラッパクラスを自作するの?
それともACEとかブストとかポコとか使うの?
2015/08/30(日) 13:53:49.58ID:KxO9Bnw+
>>169
aceなんて使ってるやつおらんやろ
2015/08/30(日) 19:06:02.49ID:yb/w6KEf
何使ってるの?
2015/09/06(日) 22:51:11.40ID:Ivw/eJkS
あご
173超音波テロの被害者
垢版 |
2015/09/14(月) 05:07:04.08ID:MMwwKzQN
超音波テロの被害にあっています。
卑劣極まりない被害にあっています。

何が起こったかわからないときから、
わかってみれば、
まだ世の中に知られていない超音波テロ。
174超音波テロの被害者
垢版 |
2015/09/14(月) 05:07:43.00ID:MMwwKzQN
世の中のどれだけの音の振動源・発信源が
使用されているのかわからないが、
多数の振動源・発信源がシステム化され、
ネットワークを通して、
超音波・音波を集中させて
対象を攻撃するらしい。
175超音波テロの被害者
垢版 |
2015/09/14(月) 05:08:33.91ID:MMwwKzQN
人や社会が襲われ、罪もない人が超音波で襲われ、
卑劣な被害にあっています。

聞こえる声、音。超音波テロの加害者の声。
「もらいました」という声とともに、
形のあるもの、ないもの、奪っていき、壊していく
超音波テロの加害者の声。
176超音波テロの被害者
垢版 |
2015/09/14(月) 05:09:06.51ID:MMwwKzQN
超音波による物理的な力で、
ものが飛び、ものが壊れる。
それが人間の体に対してまで。

身体の表面を突き抜け、内臓を攻撃される。
頭蓋骨を突き抜け、意識を失わされる。
聞こえる声、認識できない声で、精神的なダメージ。
人間の体を壊そうとする超音波テロ。
177超音波テロの被害者
垢版 |
2015/09/14(月) 05:09:32.95ID:MMwwKzQN
「見続けるのがいやだから、殺して終わる」、
「証拠隠滅だ」という超音波テロの加害者の声とともに
強烈な超音波の攻撃。
叫ばされ、いたぶられ、
超音波テロの卑劣な被害にあっています。
心の底から被害を訴え、祈っています。

天に神に届きますように。
2015/09/17(木) 21:44:54.11ID:PTUTQYG1
PF_PACKET, SOCK_RAWで作ったrawソケットでパケットを受信しているのですが, rawソケットで受信したパケットを上位レイヤーには渡さないような設定は可能でしょうか?
2015/09/17(木) 22:15:40.97ID:i9MevF4R
rawソケット使ってるの初めてみた
2015/09/18(金) 00:02:51.32ID:X7FeY8m/
対象のプロトコルがなんなのかってのと上位層に渡したくない理由にもよると思うんだけど、
iptablesで落とすんじゃだめなのかね?
あと、ユーザープロセスでTCP/UDPパケットを直接操作するシステムってのは昔作ったことが
あるけど、そのときは結局、NICに別アドレス割り当ててLXCの仮想ネットワークにつないで
ホスト側と分離した環境で動かしたな。詳しいところはあんまり覚えてないけど。
2015/09/18(金) 07:12:34.54ID:pDAHYUun
>>180
対象はDHCPです。
ある条件の場合だけ、
rawソケットを使用しているプロセスで
DHCPサーバー処理をさせようとしています。この際もともと動作しているDHCPサーバーは停止させたくありません。
iptablesも検討していますがrawソケットの設定で可能であればそれを使用したいです。
2015/09/18(金) 10:33:47.37ID:vMwdCUmM
カーネルを書き換えれば簡単
2015/09/18(金) 15:10:02.25ID:E6ycLKOL
無理ってことだよ
2015/09/18(金) 20:57:55.32ID:pDAHYUun
>>182
>>183
やっぱりできませんか。
iptablesで対応したいと思います。
ちなみに、カーネルをいじるとしたら
net/core/dev.c 辺りでしょうか。
2015/09/18(金) 22:07:47.73ID:3puWYVU6
>>184
\です
2015/09/19(土) 00:01:24.47ID:gHl8OeU6
カーネルを弄れるなんて凄いよなぁ
2015/09/19(土) 03:38:24.62ID:y15LRGc5
デバッグすると犬の糞
2015/09/19(土) 12:12:22.59ID:lLV+k096
スティーブンス読んでからソース読めば遊べるよ
189デフォルトの名無しさん
垢版 |
2015/10/06(火) 22:33:40.72ID:uxUTfTFS
受ける会社大丈夫?
下記の条件が全て当てはまる会社にご注意下さい。

・IT系 in tokyo
・「社名 労基」でググると過去の2chスレが出てくる
・転職会議で2.5点
190デフォルトの名無しさん
垢版 |
2015/10/10(土) 19:40:50.01ID:TA42U0FR
サーブレットについて教えてください。
以下のようなことを考えています。

JSPからサーブレットを呼び出す → サーブレットで何らかの判定を行う → 元のJSPに戻って(呼び出して?)判定結果を表示する。
この場合、判定結果はどのように戻すのが一般的でしょうか?
ResponceはsetAttributeがないので、Requestに追加して返すものなのでしょうか?
2015/10/10(土) 19:46:01.45ID:m6vruKe7
>>190
ここで聞いたら

★★Java質問・相談スレッド174★★ [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/tech/1435295532/
192190
垢版 |
2015/10/10(土) 19:49:43.24ID:TA42U0FR
そうします。
ありがとうございます。
193デフォルトの名無しさん
垢版 |
2016/01/02(土) 23:14:39.34ID:C9NtkQwE
やぱC/C++系がデフォ?
2016/01/07(木) 22:03:15.59ID:TlamiCFT
いいえ
最近はperlですね
2016/01/07(木) 22:49:09.58ID:aiGbFH0T
おやつはcurl
196デフォルトの名無しさん
垢版 |
2016/01/07(木) 23:40:48.21ID:TnS9Kg9t
言語でスレが分かれるかもね
2016/01/09(土) 18:19:53.62ID:rJLg93Dn
ソケットを使ったプログラムを組んでいるのだけど、
どうも安定しないから通信ライブラリを使おうと思っているのだけど良いライブラリはありますか?

プログラムが数個あって各プログラム間で通信したいのだけど
今は通信専門のプログラムを作ってそれに集中的にアクセスしている状態なので改善したいのです
A-->Bで通信したい場合A-->O-->Bみたいな感じで通信している状態です
プログラムの数が一定していなくてMPIは使えないので今みたいな形になってます
素直にA-->B、B-->C、C-->Aみたいにできると良いのだけど・・・
2016/01/09(土) 18:35:16.24ID:GJ1IRf8o
イミフw
2016/01/10(日) 00:40:49.41ID:kVOdBd9V
>>197
A-->Bと出来ない理由は何?
2016/01/10(日) 01:04:16.56ID:3bZGy7JN
ルータが絡んでるとか?
2016/01/10(日) 01:37:34.55ID:Ch7U5rc3
まあイミフだね。強いて聞くなら
「安定しない」ってどういうこと?環境の問題?
「よい」の基準は?品質?
「通信専門のプログラム」って何?Oがこれ?
2016/01/10(日) 03:58:53.66ID:Gefm6kKF
クライアントの相互通信をしたいが
現状はOをサーバーのようにして通信しているって事だろ

そういう事も読み取れないバカしかいないし
誰かが真面目に答えても間違った知識で混乱させようとするから他で聞いた方が良い
2016/01/10(日) 10:26:20.35ID:TV1peVke
なぜ自己紹介したがるのかw
2016/01/11(月) 15:14:15.70ID:VWhKDzdW
>>202
お前が答えてやれよ……
2016/02/03(水) 00:22:46.71ID:4LGu4WnW
スイッチングハブで接続されているパソコンA,B,Cがあり
B、C間の通信をAが覗き見る事は不可能ですか?
2016/02/03(水) 00:26:24.11ID:AcEQWu8q
>>205
「ミラーリング hub」
207デフォルトの名無しさん
垢版 |
2016/02/03(水) 16:29:02.45ID:pRgTIgrC
マスタリングの入門編読んだんだけど仕組みは分かっても実際どうプログラムしてるのかが分からなかった
テンプレにも紹介されてるけどネットワークプログラミングの本でおすすめない?
言語はできればCがいい、ちなみにOSはwindowsしかないけど仮想ならlinuxも用意できます
2016/02/03(水) 16:43:41.60ID:Y9/5n7uh
詳解TCP/IP〈Vol.2〉実装
2016/02/03(水) 17:16:44.78ID:1RubKd28
Linux Programing Interface ちょと重いか
2016/02/04(木) 22:16:08.35ID:eRBqZdfg
>>208
在庫と値段的にちょっと厳しいかな

>>209
ああなるほどlinuxから入ってネットワークに行くってのもありかー
linux本としてもいいなら買っちゃおっかな
211デフォルトの名無しさん
垢版 |
2016/03/07(月) 01:38:33.73ID:0qoaCMqF
マルチスレッドでTCPのacceptしたときnetstatのステータスはどう変化するんですか?
教えてくださいおながいします!
2016/03/11(金) 22:22:49.96ID:dj3uwIGp
以下のようにVBSでURIで指定したサイトからデータ取得するものを作っています。

Set oReq = CreateObject("MSXML2.ServerXMLHTTP")
oReq.setProxy("2", PROXY_SERVER, "localhost")
oReq.setProxyCredentials(USERNAME, PASSWORD)
oReq.Open "GET", URI, False
oReq.Send

これを1度だけ実行なら問題ないのですが、繰り返し実行
すると5回目くらいに最後のsendのところで、
「無効または認識されない応答をサーバーが返しました」
というエラーが発生します。

これはプロキシサーバの処理能力をオーバーしたということでしょうか。
それともデータ取得先の問題でしょうか。
2016/03/11(金) 22:41:07.98ID:hqUiUQ5D
winsock2に書き換えてみたら
2016/03/13(日) 03:45:38.04ID:IqX1stSF
>>211
シングルスレッドと同じだよ、たぶんw
2016/03/14(月) 17:59:59.28ID:2pvjXVi/
>>214
ありがとう!
2016/05/16(月) 18:29:46.75ID:PpqHj2Tc
書いて
217デフォルトの名無しさん
垢版 |
2016/06/10(金) 22:41:04.16ID:2dcerofp
Win10 Home、Borland C++で

#include <MAPI.h>
typedef ULONG (WINAPI *MAPI_SEND_MAIL_PROC)( LHANDLE lhSession,\
ULONG ulUIParam, lpMapiMessage lpMessage, FLAGS flFlags, ULONG ulReserved );
 MapiRecipDesc sender;
 MapiRecipDesc Receiver;
 MapiFileDesc AttachFile;
 MapiMessage Message;
 (略)
 HINSTANCE hInst;
 hInst = LoadLibrary( "mapi32.dll" );
 if( hInst == NULL )
   printf("mapi32.dllがロードできませんでした。送信に失敗しました。\n");
 else{
   MAPI_SEND_MAIL_PROC MAPISendMailProc = (MAPI_SEND_MAIL_PROC)GetProcAddress( hInst, "MAPISendMail" );
   if( MAPISendMailProc( 0, 0, &Message, MAPI_DIALOG, 0 ) != SUCCESS_SUCCESS )
     printf("送信に失敗しました。\n");
   else
     printf("送信完了しました。\n");
 }
 FreeLibrary( hInst );

メールを添付ファイル付きで送信するプログラムを組みたいんですが、
MAPIで「規定のプログラムの設定がされてないよーん」的なメッセージが出て出来ません。
設定画面から「メール」で規定のプログラムを設定しましたが変わりません。

なんでざんしょ。
2016/06/11(土) 16:49:05.52ID:iSPIsEmM
Win10で仕様変わったんじゃね?
219デフォルトの名無しさん
垢版 |
2016/06/11(土) 17:29:15.80ID:9JtWh0jS
>>218
やはり10の問題でしょうか・・・。

セキュリティ会社に出向することになったんで、ollydbgでこういった動きで漏洩させるプログラムをデバッグで追っかける
準備として自分のメールアドレスにテストメールを送るEXEを作りたいだけなんですけどね。
これが10の問題なら逆にMAPIではできないというのを知れたのでよかったのかな・・・・。
2016/06/11(土) 17:46:34.25ID:iSPIsEmM
既定のメールソフトを何にしたかにもよるな
221デフォルトの名無しさん
垢版 |
2016/06/11(土) 17:51:02.59ID:9JtWh0jS
Thunderbirdです。
あー、それもありえるかもなぁ
winのデフォルトインストールメーラーにしてみます。
2016/06/11(土) 18:10:51.82ID:9JtWh0jS
変わらずでした。
なんかワンクッション必要なのかなぁ。
223デフォルトの名無しさん
垢版 |
2016/06/12(日) 09:53:25.09ID:xN9NR8mn
MAPI っつったら Outlook 一択だろ常考。
OutlookExpress じゃないぞ。
Office に付いてる方だぞ。
2016/06/12(日) 14:57:58.41ID:iBZ6WLYB
mapi32.dllって64ビット環境でもちゃんと存在してちゃんと動くのか?
2016/06/12(日) 19:42:17.11ID:ARY0ZRO5
>セキュリティ会社に出向することになったんで
社名を教えて、そこの製品を使わないようにするから
2016/06/15(水) 22:57:03.60ID:stQmdqho
大事なところの担当にはならないから大丈夫だよ。
2016/06/16(木) 11:55:18.21ID:vPpNXLWB
ここで適当に同業他社の名前出しとけばライバル蹴落とせるなw
2016/06/18(土) 12:39:39.21ID:DZXNqFsy
ソケットの勉強をしようと思いクライアント側のプログラムを作成しているのですがなぜ
最後にソケットを切断(close)しなくてはならないのですか?
また、closeしなくてもプログラム自体は動くかと思うのですが、closeされていないこと
を確認するにはどのような方法がありますでしょうか?(netstatコマンドなどを使えば良
いのかと思ったのですがわかりませんでした)
2016/06/18(土) 12:44:35.11ID:3Ro7Pv4n
closeしなかったらプログラム終了時にシステムが自動的にcloseするというだけ
2016/06/18(土) 14:58:36.89ID:AGMP56Qn
UDPならcloseせんでもええ
2016/06/18(土) 17:08:05.09ID:Tk6yOox9
closeしなかったらリソースが減っていくだけ
2016/06/22(水) 23:22:05.08ID:d91p5TSZ
shutdownも必要ではなかったか?
今はもう不要?
2016/06/22(水) 23:36:53.27ID:X6XCfxlz
アホさんいらっしゃい
2016/06/23(木) 11:45:23.37ID:332nxUAD
socketのshutdownは必要
2016/06/23(木) 13:34:50.61ID:mZfLfxkS
closeって事ですか
2016/06/23(木) 20:50:20.73ID:xQuzcWOo
shutdownってこと
2016/06/23(木) 21:54:35.99ID:9Wm8FTvm
アホってこと
2016/06/30(木) 23:45:26.79ID:167OFloa
日本人は無料通話アプリを作れません。
239デフォルトの名無しさん
垢版 |
2016/07/01(金) 11:00:34.68ID:wNtMwO0s
NOTTV終了おめ
2016/07/01(金) 12:31:02.44ID:c/ihY094
アベバに変ったの?
2016/07/01(金) 13:10:34.66ID:SE0g3mIr
>>238
スウェーデン人乙
2016/07/29(金) 21:37:13.05ID:sAKii1G0
libevが分からない
asyncの自前イベントでどう設定してイベントループからどうやって起こすのか・・・
詳しい人が居ましたら関係する関数を教えてください
2016/07/30(土) 01:23:16.97ID:5Uiy2ytH
いません
244デフォルトの名無しさん
垢版 |
2016/07/30(土) 13:03:54.68ID:NnN7Vre0
Node.js
2016/09/03(土) 19:04:46.58ID:YfCK8gma
教えて
246デフォルトの名無しさん
垢版 |
2016/09/03(土) 19:35:16.09ID:w8mOGCX1
goo
247おしえて
垢版 |
2016/09/06(火) 18:40:03.48ID:FxmSmkKd
1つのネットワークカードに2つ以上のipアドレスを割り当てて、1つのサーバにその割り当てた別々のipアドレスで同時接続は可能?
同じアプリを2個以上起動して異なるipアドレスで同時接続したいわけです
2016/09/06(火) 18:44:45.76ID:oFd6kpVy
横道にそれるけど
同じIPアドレスだけど listen ポートを別にすることはできないのかな?
2016/09/06(火) 19:00:22.30ID:sQOv13Gi
>>247>>248
可能
WindowsでもLinuxでも出来ない理由はない
2016/09/06(火) 19:31:28.29ID:oFd6kpVy
よくよく読んだら 複数クライアントが 1つのサーバーに接続
クライアントのおのおので ipアドレスを別にしたい が 同一PC中の同一ネットワークカードで
ということか
2016/09/06(火) 19:32:34.99ID:MfZbc6Jb
受信は問題ない
返信時に送信者アドレスがどっちになるかで
途中のルーターがフィルタしたりする可能性は無きにしも非ず
1枚のときにどっちのアドレスを優先させるか
あるいはどっちのアドレスから送信したことにするかを
プログラミングする必要がある
マルチホーミング考慮する必要もある
2016/09/06(火) 20:32:07.85ID:1XSUlqoQ
>>247-248
どっちも可能
ただし当たり前だけどアプリケーションで Listen するアドレスやポートを指定できる必要がある

>>251
受けたアドレスと異なるアドレスに送る TCP スタックなんて見たことない
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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