HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2018
0223
UMApcbnet2 サーバ自動検索8解決


UMA

リンク

2018/2/23(Fri) 16:28:46|NO.82543

pcbnet2を利用してチャット的なのを作りたいのですが、サーバを自動的に検索して、接続するにはどうすればいいでしょうか?
具体的には、
サーバー起動→TCP接続待機を開始
→子機起動→サーバIPを何かしらで取得→子機接続
→チャット開始

LAN内での利用です。



この記事に返信する


あまら

リンク

2018/2/24(Sat) 10:21:49|NO.82548

LAN内でということなので、

サーバーIP:192.168.0.XXX
クライアントIP:192.168.0.YYY

のように上3つの数値はどちらも同じという前提で考えます。

自身(クライアント)のIPを取得して末尾の数値以外を抜き出し(上の例で192.168.0.の部分)
サーバー末尾のXXXに0〜255までの全てのIPに対し0から順に接続を試し、
失敗かエラーなら次の数値にというトライ&エラー方式でやるしか無いのではないかと思います。

ただ、この方法は1つ1つのIPの確認に時間がかかりますので
同時に複数IPと接続確認とか、接続待機中のときに
〇秒待っても接続できなければ失敗とみなして次へなどというように
少しでも短縮しないとやってられません。
IP1つにつき1秒としても最大で4分以上かかりますから。。。

LAN環境にも寄りますが、通常の家庭内LANに限れば
全てのIPを使っているということは滅多に無いと思うので
クライアントIP±32の範囲だけチェックなどでもいいかもしれません。



UMA

リンク

2018/2/24(Sat) 12:14:28|NO.82551

ありがとうございます。
未確認なんですが、これは有線と無線で通信可能でしょうか?



あまら

リンク

2018/2/24(Sat) 13:47:43|NO.82552

同じく未確認ですが、
有線・無線は関係ないはずですよ。



UMA

リンク

2018/2/28(Wed) 18:29:00|NO.82576

現在、子機のpcが使えないため小休止中です。
見てくれた方、回答してくれたあまらさんにはご迷惑をおかけします。



UMA

リンク

2018/3/2(Fri) 18:04:43|NO.82595

pcbnet2のどのサンプルを走らせても、うまく通信できません。
もしかして、デスクトップPCとノートPCでは通信できないのでしょうか?
両者とも同じWiFiアクセスポイントに繋いでます。



あまら

リンク

2018/3/3(Sat) 11:28:39|NO.82609

デスクトップでもノートでも通信は可能なはずですよ。

IPアドレスやポートは間違っていませんか?
たぶんセキュリティ警告が出たと思いますが、許可はしましたか?

これらが間違っていないのならば
一度hspsockのサンプルを試してみてはいかがでしょう。



UMA

リンク

2018/3/3(Sat) 14:17:45|NO.82610

ノート2台で試したところ、うまくいきました。恐らくESET(ウイルスバスター)がブロックしてしまったようです…



UMA

リンク

2018/3/3(Sat) 16:20:41|NO.82611

ウイルスバスターのブロックを外すと通信することが出来ました!
また、自動検索はtcpisconで監視して、一定時間(今回は10回)接続できなかったら次のアドレスに行く、という形で超高速で接続することが出来ました!
一応、備忘録兼同じように作りたい人がいた場合にソース貼っときます。

*connect repeat repeat 253 await 0 time=0 host="192.168.0."+(cnt+3)+"" tcpopen tsoc,host,PORT if stat : dialog "tcpopenに失敗しました!",1 : end *@ tcpiscon tsoc if stat=2 :continue if stat=1 : break if time>=10 : continue color 255,255,255 boxf color 0,0,0 pos 0,0 mes host+" に接続中..." tcpiscon tsoc if stat=1 : break if stat=0 : time++ : goto *@b loop if stat=1 : break await 0 loop mes "接続が完了しました."



ONION software Copyright 1997-2018(c) All rights reserved.