VB6.0のWinsockコントロールを貼りつけ、赤外線受信した
データを取得したいのですが、RemoteHostやRemotePortの値を
どう指定すればよいのかわかりません。
どなたかご教授願えませんでしょうか?よろしくお願いします。
ええと、「受信した」ということは、動かしたいのはサーバー側ですね?
サーバー側はRemoteHost、RemotePortともに使用しません。
サーバー側で設定が必要なのはLocalPortのみです。
最初に初期処理としてCloseを掛けた後に、LocalPortにクライアントと同じポート番号をセットします。
(厳密にはクライアントがサーバーと同じポート番号を使う)
あとはListenで受信待ちするだけです。
遅レス、申し訳ありません。。。
そうです。サーバ側で動かしたいのですが、
サーバ側はWindows2000で、クライアント側はPalmなんです。
サーバ側はUSBで赤外線ポートを接続しています。
ZOROさんのおっしゃる「LocalPortにクライアントと同じ
ポート番号をセットします。」と言うのは、クライアントが
Palmでも有効なのでしょうか?
ちなみに私はPalmについても良くわからないのですが。。。
自分も、訳の分からない用語だらけで悩みました。
以前、悩みながら作ったプログラムの一部です。
Sub sethconnect(status As Long)
'イーサネットのコネクションを行う
'
status = 0
If Winsock1.state <> sckClosed Then
Winsock1.Close 'イーサネットを閉じる
End If
Winsock1.LocalPort = gportno 'ポート番号を設定して
Winsock1.Listen '接続待ちにする
Do While Winsock1.state <> sckConnected
DoEvents '接続されるまでループ
Loop
End Sub
設定は基本的には8行目のLocalPortだけす。
設定する値(例ではgportの値)は通信電文の識別番号。
通信電文にはPort番号が付いていて、
LoaclPortで設定したものと一致する電文だけが読み取れます。
送信する時は自動的に付けられます。
従って、通信相手(Paim)と同じ値を設定する必要があります。
(自分もLocalPortの意味がわからず、何を設定すればよいのか困りました。)
通信の設定ができれば、受信割り込みで
Winsock1.GetData を使って
受信データを読み取ることができます。
また遅レスでごめんなさい。。。
ZOROさん、ogawaさん、ありがとうございます。
どうにか出来そうです。助かりました!!!
ツイート | ![]() |