[過去ログ] ネットワークプログラミング相談室 (956レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
757(1): デフォルトの名無しさん [sage] 01/09/17 23:44 AAS
>>756
特定アドレスからのパケットを受け入れる
758: 756 [sage] 01/09/18 00:06 AAS
>>757
えっ、そうなんだ(汗
ありがと。
759(2): ネット関係のプログラム作るの初めて [] 01/09/21 14:07 AAS
windowsで、winsock使用で簡単な通信プログラム作ってます。
winCEにも対応させる事を考えて、
WSAAsyncSelectを使用しないで(CE未対応なので)、
スレッドを用意してselectで通信を監視するようにしています。
selectで受信を判定して、recvする事は成功したのですが、
相手からの接続が切れた事(WSAAsyncSelectの、FD_CLOSEに相当する)
の判定のしかたがわかりません。
どうしたら良いのでしょうか?
いろいろ検索かけたり、ヘルプとかで調べてみたのですが、わかりません・・・
760(1): デフォルトの名無しさん [] 01/09/21 16:07 AAS
>>759
recvが0を返した時
761(3): デフォルトの名無しさん [] 01/09/22 17:37 AAS
すんませんが、どっかにtelnetのRFCの日本語訳ないでしょうか?
762: デフォルトの名無しさん [sage] 01/09/22 17:43 AAS
>>761
Rubyはクソです。ゴミ箱逝きです。
いじょ
この発言をコピペしていただければ幸いです。
763(1): デフォルトの名無しさん [sage] 01/09/22 17:45 AAS
>>761
http://www.google.com/search?hl=ja&q=telnet+RFC+%93%FA%96%7B%8C%EA%96%F3&lr=
764(1): 761 [] 01/09/22 18:39 AAS
>>763
あのさあ、検索しても見付からないからここで聞いてるんだけどさ。
765(2): デフォルトの名無しさん [] 01/09/22 18:50 AAS
今だ!765ゲットォォォォ!!
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ (´´
∧∧ ) (´⌒(´
⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡=
 ̄ ̄ (´⌒(´⌒;;
ズザーーーーーッ
766: 765 [] 01/09/22 18:51 AAS
Rubyはクソです。ゴミ箱逝きです。
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ (´´
∧∧ ) (´⌒(´
⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡=
 ̄ ̄ (´⌒(´⌒;;
767: 765 [sage] 01/09/22 18:53 AAS
sage忘れた。スマソ
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ (´´
∧∧ ) (´⌒(´
⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡=
 ̄ ̄ (´⌒(´⌒;;
768(2): デフォルトの名無しさん [sage] 01/09/22 19:01 AAS
>>764
これでどうだ!:-P
http://www.geocities.co.jp/HeartLand-Kaede/8800/rfc/rfc1097j.txt
769: デフォルトの名無しさん [sage] 01/09/22 22:54 AAS
質問した事があるのですが、質問した事を忘れてました。
敢えて何番の者かは申しませんが親切に答えてくれた方ありがとうございました。
770(1): デフォルトの名無しさん [] 01/09/23 01:04 AAS
>>768
おお!ありがとう。
しかしこれはサブリミナルオプションらしいですね。
telnetそのもののRFCの日本語訳を希望。
わがままいってごめんちょ
771: デフォルトの名無しさん [sage] 01/09/23 01:50 AAS
礼儀正しいんだか無礼なんだか…デモチョトワラタ。
…敢えて何番へのレスかは申しませんが…。
772: デフォルトの名無しさん [sage] 01/09/23 03:22 AAS
770がチョット可愛くみえた。(笑
773: デフォルトの名無しさん [sage] 01/09/23 19:50 AAS
/ ̄ ̄ ̄ ̄ ̄
,__ | >>770が>>768のjokeに気付きますように。
/ ./\ \_____
/ ./( ・ ).\ o〇 ヾ!;; . iii|//"
/_____/ .(´ー`) \ ∧∧ . |;;; :.iii|/゙
 ̄|| || || ||. |っ¢..|| ̄ (,, ) ナムナム |;;; ,:iii|
|| || || ||./,,, |ゝ iii~ ⊂ ヾwwwjjrjww!;;;;:::iii|jwjjrjww〃
| ̄ ̄ ̄|~~凸( ̄)凸 .( ,,)〜 wjwjjrj从jwwjwjjrj从jr
774(1): デフォルトの名無しさん [] 01/09/24 09:30 AAS
以下のようにして、受信ループをまわしているのですが、
クライアント(IE6)が転送を中断してsocketが無効になったときに、
なぜか無限ループになってしまいます。
ちなみに、自分でtelnetを使用して実験した場合では再現しませんでした
このソケットをselect()で調べると、常に読み取り可能。
受信バイト数は16777215バイト。となっています。
無効時には-1が帰るものだと思っていたのですが、
sizeof(rbuf)よりも大きい数が帰ってきたらエラーとして扱うべきなのでしょうか?
char rbuf[4096];
while (len = recv(session, rbuf, sizeof(rbuf) - 1, 0)) {
rbuf[len] = '\0';
printf("%s", rbuf);
}
775: デフォルトの名無しさん [sage] 01/09/24 12:07 AAS
>>774
recv()が-1を返したときも、上のコードだとループは回り続けるけど、
if (len < 0) {...} みたいなコードは省略済み?
ちなみに、16777215は0x00ffffffだけど、
本当にこの値をrecv()が返してきてるの?
lenの値が16777215だった場合の領域破壊はこの際置いておくとしても、
そこのとこどうよ。
776: デフォルトの名無しさん [] 01/09/24 16:19 AAS
telnetのソースコードありますか?あったら下さい。環境はLinuxです。
777(1): デフォルトの名無しさん [sage] 01/09/24 16:25 AAS
そんなものはどこにでもころがってます。
778: デフォルトの名無しさん [] 01/09/24 17:58 AAS
ソケットに関してというわけではないので、恐縮なのですが。。。
VBで、InetコントロールのOpenURLメソッドで取得したHTMLデータ
をシーケンシャルファイルに保存すると、2バイト文字が化けて
しまいます。これを回避する方法がありましたら、ご教授ください!
よろしくお願いします!!!
779: デフォルトの名無しさん [] 01/09/24 19:57 AAS
>>777
777getおめでとう。
で、ください。くださいと言ってます。
780(2): デフォルトの名無しさん [] 01/09/24 19:58 AAS
FTPのLISTコマンドでファイル一覧を表示すると、.ファイルなどの隠しファイルが表示されませんが、隠しファイルまで表示するにはどうすればいいでしょうか?
781(2): デフォルトの名無しさん [] 01/09/24 20:05 AAS
-a
782(1): デフォルトの名無しさん [] 01/09/24 20:23 AAS
>>781
それはUNIXのlsコマンドの話でしょう。
自分が言ってるのはFTPの応答コマンドの話。
783: デフォルトの名無しさん [sage] 01/09/24 20:26 AAS
うちではだまってても .* 全部見えるな
784(1): デフォルトの名無しさん [] 01/09/24 20:29 AAS
>>782
LIST -aとか
NLST -aとかやってみ。
785: 780 [] 01/09/24 22:01 AAS
LIST -a でできた
すんませんね>>781
アリガトサン>>784
786(1): 780 [] 01/09/24 22:04 AAS
しかしRFC959にはそんなこと一言も書いてないね。
なぜだろう?
787(1): デフォルトの名無しさん [sage] 01/09/24 22:33 AAS
959はObsoleteだから。
788(3): 759 [明日 でかい本屋にいって、参考書さがしてこよう・・・] 01/09/25 00:03 AAS
>>760
ありがとうございます
遅レスで申し訳ない上に、さらに質問ですが、
それは、selectだけでは判定できない という事でしょうか?
今は、ソケット監視スレッドで
タイム0でselectを呼び出してループしてます
FDを見て、情報ありの時だけ recvするイベントをだしてメインでrecvしてます
ソケット監視ループで、recvもすれば良いのかなと思ったのですが、
でも、recvって、ブロッキングにならない使いかたできるのでしたっけ?
789: デフォルトの名無しさん [sage] 01/09/25 00:28 AAS
>>786
つまり厳密には鯖依存ってこと
>>787
大嘘こくな
790(3): 760ではないが [sage] 01/09/25 02:44 AAS
>>788
それ(loopでselect()の復帰を待ってrecv())でよいはず。
コネクション断でもselect()はデータ到着とみなす。
select()がデータ来てるといってるのにread()でブロックすることはない。
ただ、Win系ならWSAEventSelect()なんかの非同期I/Oを使用するAPIを呼ぶと、
socketが自動的にnonblocking-modeに設定されるので注意。
791: 790 [sage] 01/09/25 02:58 AAS
あ、一部訂正。>>790のread()はrecv()でした。すまそ。
792: 790 [sage] 01/09/25 03:03 AAS
あ、一部訂正。>>790のread()はrecv()でした。すまそ。
793: 788 [] 01/09/25 10:58 AAS
>>790
>コネクション断でもselect()はデータ到着とみなす。
知らなかった・・・勉強不足
selectループはそのままに、
recv() が 0 の時 切断処理を行うようにしたら、うまくいきました
ありがとうございました
794(3): デフォルトの名無しさん [sage] 01/09/25 19:03 AAS
>>788
ここ一遍目を通しておくとよいよ。
http://www.kt.rim.or.jp/~ksk/sock-faq/indexj.html
795(1): デフォルトの名無しさん [] 01/09/28 00:56 AAS
winCEとwin32のソケット通信に関する質問を
WinCEスレに書いたのですが、
もしかして、こっちのスレに書いたほうが良かったのかなーなどと
思いはじめ、
図々しくもリンク貼ります
CEスレの93です
↓
2chスレ:tech
796: デフォルトの名無しさん [] 01/09/28 01:20 AAS
MFC(WinInet)にてサーバにHTTPS経由でファイルをアップロードしてます。
500MBのファイルを1MBで分割して500回POSTしてるんですが
400回目あたりを過ぎたところで受信要求がタイムアウトして
しまいます。。。んでリトライして行うとまたタイムアウト
んでまた・・・の繰り返しで
8回あたりリトライするとサーバから受信要求が返されます。
原因として何が挙げられるんでしょうか??
ただ単にサーバに負荷がかかってるのでしょうか?それにしては
ブラウザからCGIを直接起動するときの反応が通常のような・・・。
ちなみにMFCではPOSTするたびにコネクションを新規生成してます。
サーバはSolaris+Apache+PHP。
797: デフォルトの名無しさん [sage] 01/09/28 19:09 AAS
>>795
bind()のエラーだったらTIME_WAITによるAddress already in useの可能性大。
きみも>>794が紹介してくれたとこに一度行ってきなさい。勉強になるから。
798: デフォルトの名無しさん [sage] 01/09/28 19:11 AAS
ここ、いいですね
ありがとうございます
799: [] 01/09/30 10:49 AAS
SendMailで受け取った複数ドメイン(*.aaa.com、*.bbb.net、*.ccc.ne.jp等)毎、
複数ユーザ毎のメールを一括でPerl等に出力し、
Perlで転送先へ仕分けして再配送したいのですが、
エンベローブの宛先アドレスや送信元アドレスをPerlへパラメータとして与えたいと
思っています。(MAIL From: aaa@bbb.com や RCPT To: xxx@zzz.comの情報)
sendmail.defでそれらしい設定を探しましたが、
以下のようなPOPDOMが最も近そうでした。
PSEUDO_POP_DOMAIN=yes/no
POPDOM_MAILER_PATH='/usr/sbin/lmail'
POPDOM_MAILER_FLAG=$PROG_MAILER_FLAG
POPDOM_MAILER_ARGS='lmail -d $h $u'
POPDOM_MAILER_MAXSIZE=100000
POPDOM_MAILER_MAXLINE=
しかし、上記の設定では、$uは宛先の@前のユーザ名のみなので、
@以降のドメイン名部分が取得できません。
また、送信元情報の取得もできません。
そういった情報は固定の変数に設定されているのでしょうか?($〜)
それと、ACCEPT_ADDRSで*.hoge.comという形式でドメイン受信の設定は
可能でしょうか。
TLDは手動設定でいいのですが、サブドメインの登録は自動化したいので、
DNSの*指定のように全サブドメイン対象の設定にしたいと思っています。
800(1): 800 [800] 01/09/30 15:30 AAS
800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800
800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800
800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800
800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800
800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800
800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800
800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800
800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800
800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800
800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800
800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800
800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800
800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800
800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800
800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800
800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800
800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800
800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800
800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800
800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800
800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800
800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800
800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800
800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800
800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800
800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800
800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800
800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800
800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800
800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800
800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800
800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800
800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800
800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800
800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800
800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800
800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800
800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800
801: デフォルトの名無しさん [] 01/09/30 22:26 AAS
やはり一つのポートには一つのソケットしかつなげられないわけですか?
802: デフォルトの名無しさん [sage] 01/10/01 01:10 AAS
>>881
基本的にはYes
しかし一つの代表ポートに複数の接続要求を出すことは出来る
TCPのテストプログラムを作って接続語の相手先のポート番号を確認すれば意味は分かる
803(1): デフォルトの名無しさん [] 01/10/01 09:25 AAS
winsock2.0を使ってプログラムしているのですが、
ひとつ不可解な現象にあって困ってます。
recvで受信するときに、改行文字(\r\n)が送られて来ても、
戻り値で2が帰ってくると思ってたのですが、1なのです。
どうしてでしょうか?
ちなみに、受信バッファを監視していると確実に\r\nが書き込まれてました。
804: デフォルトの名無しさん [sage] 01/10/01 09:38 AAS
あ、ちなみにtelnetで接続して試してます
805(1): デフォルトの名無しさん [sage] 01/10/01 14:50 AAS
>>803
質問内容がいまいちわからないですが、、、
socket層には改行文字なんて概念はありません
純粋にバイナリを送受信してるだけです
送信元が\r\nを送ったんなら、\r\nが届くだろうし、
\nだけを送ったんなら\nだけが届くでしょう
806: デフォルトの名無しさん [] 01/10/01 15:58 AAS
>>805
返答どうもです。
えっと、症状なのですが、確実に\r\nは送られて来てます。
しかし、recvの戻り値が1なので、単純に戻り値を元にバッファを連結すると
\nが上書きされてしまうのです。
807: デフォルトの名無しさん [sage] 01/10/01 18:30 AAS
相手がUNIXならtelnetを使っても改行コードは\nしか送られてこないはず
勘違いしてない?
808: デフォルトの名無しさん [] 01/10/01 18:35 AAS
W2kでtelnetして接続。
Enterを押して改行だけ送信。
char buf[4096];
memset(buf,0,sizeof buf);
len = recv(c, buf, sizeof buf, 0);
accept後に上記のソースで受信すると、
len = 1;
buf[0] = '\r';
buf[1] = '\n';
こういう状態になってます。
len = 2なら納得できるのですが・・・
と、いう話です。
809: デフォルトの名無しさん [] 01/10/02 17:57 AAS
ウザくて申し訳ないですが、ageさせてもらいます。
どなたか、よろしくお願いします
810(3): デフォルトの名無しさん [] 01/10/02 20:37 AAS
一対一でつながるwinsockのサーバーとクライアント両方を作ってます
つながっている状態から、
クライアントがソケットを切断した場合、
サーバー側は、一度ソケットを閉じないで
そのままlistenしても良いのですか?
811: デフォルトの名無しさん [sage] 01/10/02 20:55 AAS
閉じろ
812(2): デフォルトの名無しさん [sage] 01/10/02 21:46 AAS
>>810
接続受付用のソケットとデータ通信用ソケットの違いを理解していない奴が多すぎる
813(1): 810 [] 01/10/03 02:20 AAS
じゃあ、
閉じる(closesocket) -> socket生成(socket) -> bind ->
listenで良いのですか?
814: デフォルトの名無しさん [sage] 01/10/03 02:29 AAS
>>810
acceptで受け取ったsocketは閉じるとして、
bindした方は閉じる必要無いのでは?
815: デフォルトの名無しさん [sage] 01/10/03 07:40 AAS
>>813
812が言っていることに対して勉強し直せ。
816: 810=813 [] 01/10/03 09:27 AAS
やっとわかりました。自分の大ボケぶりが恥ずかしい。
1.bind->listen->accept用のソケット(socketで生成)と、
2.acceptで受け取ったデータ通信ソケットということですね
で、2は閉じて、また新たにacceptしなさい
ということですね
817(1): socksock [] 01/10/03 10:14 AAS
Win98で動作していたwinsockプログラムを
Win2kでビルドし直して動作させたところ、
30分ぐらいで止まってしまいました。
Win2kはSP2を適用しています。(SP1ではBugが…)
SP2でwinsockプログラムがうまく動作しないという噂
を聞いたことがありますでしょうか。
818: デフォルトの名無しさん [sage] 01/10/03 12:35 AAS
いっさいありません
819(1): デフォルトの名無しさん [sage] 01/10/04 00:32 AAS
>>817
OSを疑うよりもまず自分のコードを徹底的に疑いましょう。99.9%は自分のミスです。
820: デフォルトの名無しさん [] 01/10/04 01:49 AAS
WinInetって使えるの?
さっきちょっと調べたら送信要求タイムアウト設定できない
バージョンもあるじゃん。
WinInet使ってHttp転送しよとしてるんだけど、諦めろってことか?
821(3): デフォルトの名無しさん [] 01/10/04 02:18 AAS
>>819
0.1%もOSに責任があるようなOSなぞ逝ってよし
822: デフォルトの名無しさん [sage] 01/10/04 02:25 AAS
>821
マターリいこうよ、なっ?
823(2): デフォルトの名無しさん [sage] 01/10/04 06:20 AAS
>>821
0.1%って微妙な線だな
Winは45%くらい責任があるしなぁ
BSDくらいか?
824: デフォルトの名無しさん [sage] 01/10/04 08:56 AAS
>>823
なんでもOSのせいにするなって
825(1): デフォルトの名無しさん [sage] 01/10/04 09:16 AAS
大概の場合、自分のミスをOSが許容してしまい、環境が変わると発現する
でも結局ミスしているのは自分
以前、人殺ししたけど捕まらなかったから、また殺したら今回は捕まるのはおかしいと言っているようなもの
826(1): デフォルトの名無しさん [] 01/10/04 14:13 AAS
↑こいつ何言ってんの????????
827: デフォルトの名無しさん [sage] 01/10/04 17:29 AAS
>826
>825は>823に文句言ってんの。
分かった?
828(1): デフォルトの名無しさん [sage] 01/10/04 18:53 AAS
>>821
その0.1%のバグもほぼ対処法がある。
その対処を知らない/行っていないのはやっぱり開発者の責任。
829: 元PG [sage] 01/10/04 19:46 AAS
>828
そうとも言い切れないと思うけど?
漏れは5年間でメーカーが認めたOSバグに2回遭遇したよ。
(汎用機でね、KシリーズとASシリーズ)
ASのバグなんて、工場のシステム2日間止まって大騒ぎ、保
証騒動になってた。
米国の開発チームにまで話がいったのどうのと聞いた。
OSのバグやと騒ぐ奴に限ってショボミスしてるというのは賛成
する。
大体、開発者のミスだもんな。
上記のトラブル時は、その考え方のせいで対応が遅れたけどな。
830(1): デフォルトの名無しさん [] 01/10/05 07:48 AAS
ネットワーク初心者なのですが、ソケットとポートに関する質問です。
まず、サーバがポート番号10000を見張っている、並列サーバ
(fork()する、またはマルチスレッド)だとします。サーバは、ク
ライアントから接続要求が来ると、要求を受け付けて、要求を受
け付けるためのプロセスをfork()します。fork()されたプロセス
はそれぞれサーバ側では10000番ポートを利用して通信を行いま
す。
クライアント1: 20000 <- TCP/IP -> 10000 :サーバプロセス1
クライアント2: 20001 <- TCP/IP -> 10000 :サーバプロセス2
ここで、疑問なのですが、要求を処理するためにfork()されたプ
ロセスは、それぞれサーバ側では10000番ポートを利用して通信
を行いますよね。クライアントが複数あった場合、10000番ポー
トに飛んできたデータは、サーバプロセス1に渡すべきかサーバ
プロセス2に渡すべきかどうやって判断するのでしょうか?
TCP/IPでの接続確立とは、こういったセッションの管理を自動で
やってくれるものなのでしょうか?それとも私、根本から勘違い
しています?
831: デフォルトの名無しさん [sage] 01/10/05 09:19 AAS
>>830
また>>812に該当する奴が出てきたな
832: デフォルトの名無しさん [] 01/10/05 10:34 AAS
>>812に付け加えるに、
TCPの接続は、
・自分のIP address
・自分のport番号
・相手のIP address
・相手のport番号
の4つ組で識別される。始めの二つだけではない。
始めの二つは同じなのに別の接続、という事があり得るという事。
そして、TCPの接続と(各自分サイドの)socketは一対一対応。
上記の事を知らない人が多い事を見ても、socketはいい抽象化だと思われ
833: デフォルトの名無しさん [] 01/10/05 17:10 AAS
ポートっていくつぐらいあるの?
結構少ないのかなあ
834(1): デフォルトの名無しさん [] 01/10/06 15:48 AAS
素人です。教えてください。
(スレ立てるまでもない第5弾にも投稿したのですが…)
(こちらの方が、より技術的なレスがくると思い再投稿します)
今まで作業上、
TeraTermを用いてIP経由(TCPポートは任意。仮に6001)でリモートアクセスサーバに
接続後、TeraTermのbreak信号を送出(Alt+b)して遠隔端末にして使っていました。
これと同等のことをperlで実行したいと考えているのですが、
方法がいまいちわかりません。
IO::Socket::INETでソケット作ってそれにbreak信号を流すことで
実現できると考えているのですが、ブレーク信号って具体的にはどうやって送るんだろ?
というところで行き詰まっております。
ex.) printf <$SOCKET_hoge> "break信号??"; # という感じかなーと。
それとももっと別の良い方法があるのでしょうか?
ご指導のほどよろしくお願いします。
835(2): デフォルトの名無しさん [] 01/10/06 17:08 AAS
>>834
> TeraTermを用いてIP経由(TCPポートは任意。仮に6001)でリモートアクセスサーバに
> 接続後、TeraTermのbreak信号を送出(Alt+b)して遠隔端末にして使っていました。
相手はtelnet protocolを理解するわけね?
IAC BRKを送る。"\255\243"
http://www.iij.ad.jp/pub/RFC/rfc845.txt
836: デフォルトの名無しさん [sage] 01/10/06 17:42 AAS
File Not Found
?
837: デフォルトの名無しさん [] 01/10/06 20:15 AAS
>>835
> http://www.iij.ad.jp/pub/RFC/rfc845.txt
ftp://ftp.iij.ad.jp/pub/RFC/rfc854.txt
でした。(記憶で書いたたら番号も間違えていた…)
838: デフォルトの名無しさん [] 01/10/07 01:01 AAS
>>835
いまさらながら、
RFCと2chのありがたみを感じております。
(RFCを真剣に読もうとしなかったあっしが恥ずかしいです。)
感謝。多謝。
839: デフォルトの名無しさん [] 01/10/12 23:38 AAS
telnetあげ
840(2): デフォルトの名無しさん [] 01/10/15 09:30 AAS
ネットワークプログラミングの練習もかねて、
TFTPのサーバプログラムを作ってみようと思うのですが、
参考になるサイトや書籍、
もしくは、ソース公開してるフリーソフトで参考になりそうなもの、
なにか知りませんか?
841: デフォルトの名無しさん [sage] 01/10/15 09:47 AAS
>>840
tftpd.cそのもの。BSDやLinuxにはついてくる。
842: デフォルトの名無しさん [sage] 01/10/15 10:15 AAS
>>840
http://RFC.net/rfc1350.html
このくらい自分で探せや
843(1): デフォルトの名無しさん [] 01/10/17 00:24 AAS
共有メモリを使うと、セマフォもだいたい同時に使うのですが、
セマフォの使い方がよくわかりません。
POSIX, SYSV,形式それぞれについて教えてください。
ネットワークプログラミングIPC編は読みました。
それでも、サパーリです。
844: デフォルトの名無しさん [] 01/10/17 00:41 AAS
>>843
> セマフォの使い方がよくわかりません。
原理が分かってないのだから、OSの原理/基礎の本を読め。
845: - [sage] 01/10/17 01:54 AAS
>共有メモリを使うと、セマフォもだいたい同時に使うのですが、
>セマフォの使い方がよくわかりません。
だいたい同時に使ってるのに使い方がよくわからないのか??
846(1): デフォルトの名無しさん [] 01/10/17 09:46 AAS
データ送受信用socketが接続状態の時、
サーバ側からshutdown -> closeというのは、
本来やってはいけない事なのでしょうか
win32でこれをやった場合、特に問題なかったのですが、
winCEでこれをやったら動作がおかしくなってしまうのです
(その後、新しいsocket生成はできるのだが、connectができない
リセットかけるまで復帰しない)
かならずクライアント側から先に
shutdown -> closeしなくてはいけないのでしょうか?
847(1): デフォルトの名無しさん [sage] 01/10/18 01:20 AAS
>>846
>>794
848: デフォルトの名無しさん [sage] 01/10/18 11:05 AAS
>>794のサイト(・∀・)イイ!! thnx>847
849: [] 01/10/19 01:17 AAS
特定のアプリケーションの行っている通信パケットを監視するには
どうやればいいんでしょうか?
本屋であさってみたものの、どれもピンとくるものがなくって・・・
850: デフォルトの名無しさん [] 01/10/19 01:41 AAS
パケットモニタを使ってみるとか。
http://www.vector.co.jp/soft/winnt/net/se136129.html
851(2): デフォルトの名無しさん [] 01/10/19 09:32 AAS
winsockで、
一度にsendして良いサイズの基準って、なにかありますか?
何も考えずにそのまま、最大2Mくらいのものを一度にsendしていたのですが、
(有線の)LANでは特に問題なかったのですが、
(しかも、sendの戻り値を見ると、一回のsendで送れてしまっているようである)
無線LANで使用したら、
sendすると固まってしまい、しばらく(数十秒)してタイムアウトで返ってくる、という事が
多く発生するようになりました
それで、分割して(たとえば2kくらいとか)sendするようにしたのですが、
そしたら固まる確率はかなり減ったのですが、やっぱりたまに固まりがおきてしまいます
無線LAN自体の問題でしょうか?
852: デフォルトの名無しさん [sage] 01/10/19 10:55 AAS
>>851
たしか、8kか16kだったような。
853: デフォルトの名無しさん [sage] 01/10/19 11:25 AAS
>>851
ただ、分割してるだけ?
2k送ったら1バイトのackを受信って感じでどうかな?
ちょっと遅くなるかもしれないけど。
854(1): デフォルトの名無しさん [sage] 01/10/19 12:53 AAS
バッファの量を取得する関数を使え
あとは自分で調べよ
855: デフォルトの名無しさん [sage] 01/10/19 13:15 AAS
>>854
ヒントくださーい。
856(1): ヒント [sage] 01/10/19 15:54 AAS
おぷと
上下前次1-新書関写板覧索設栞歴
あと 100 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.029s