ブロードキャストを使った相手先に特定について教えてください – 固定ページ 2 – プログラミング – Home

ブロードキャストを使った相手先に特定に...
 
通知
すべてクリア

[解決済] ブロードキャストを使った相手先に特定について教えてください

固定ページ 2 / 2

kure
 kure
(@kure)
ゲスト
結合: 19年前
投稿: 48
 

yuuさんはcho0さんとは別人ですよね??

2-2)や2-3)をもっと具体的にしていきましょう。
ブロードキャストに必要なデータとは何か、
定められたシーケンスとは何かといったことを
整合がとれるように組み立て詳細を決定していってください。

具体的な手順は
通りすがりさんやんーさんの発言を参考にしてみてください。


返信引用
cho0
 cho0
(@cho0)
ゲスト
結合: 19年前
投稿: 7
Topic starter  

設計がようやくできました。
必要な部分だけ抜粋しておきます。その上で質問させていただきたいと思います。
 ブロードキャストを行うためにすること
1.LAN内なのでメールスロットを使う
1-1 メールスロットの設定をローカルからブロードキャストの設定に変更
1-1-1 \\.\mailslot\path名(ローカル)→\\*\\mailslot\path名(ブロード)
2.受信側での処理
2-1 メッセージが来たことを自動的に取得
3.送り返す
3-1 1.を流用
4.送信画面に表示
4-1.返信された相手のホスト名を取得
4-2.取得したホスト名をリストボックスの中に格納

こんな感じになりました。
ここでわからないのは、
1)1-1-1で、ローカルからブロードに代えてもメッセージが届かない
2)2-1の自動取得の方法


返信引用
cho1
 cho1
(@cho1)
ゲスト
結合: 19年前
投稿: 4
 

誰かが勝手に終了したので、名前を変えます。cho0からcho1にします


返信引用
kure
 kure
(@kure)
ゲスト
結合: 19年前
投稿: 48
 

*つきのMailSlotでは一度に424バイトを超えるデータを書き込めません。
この辺が影響していないか確認してください。
メールスロットを開いて非同期でReadFileを行い、
メッセージ受信時にイベントをシグナルにしてやればよさそうな気がします。
試してないのでなんともいえませんが。。。


返信引用
cho1
 cho1
(@cho1)
ゲスト
結合: 19年前
投稿: 4
 

①非同期でReadFileを行う
②メッセージ受信時にイベントをシグナルする

こんな感じでしょうか?
①. 1-1) WSAAsynSelect関数を使って、非同期モードにする
  1-1-1) このとき、lEventにて、FD_READを設定

②. 手順がわかりません。  


返信引用
kure
 kure
(@kure)
ゲスト
結合: 19年前
投稿: 48
 

> ①. 1-1) WSAAsynSelect関数を使って、非同期モードにする
>   1-1-1) このとき、lEventにて、FD_READを設定

ReadFileするといっているのはMailSlotについてでソケットについてではありません。
非同期でReadFileするには最後の引数にOVERLAPPED構造体のポインタを渡すことで
非同期読み取りが行えます。
詳しくはMSDNを見てください。
非同期読み取りにはイベントを使うことができますので②のやりかたは
非同期ReadFileのやり方がわかれば一緒にわかると思います。


返信引用
yuu
 yuu
(@yuu)
ゲスト
結合: 23年前
投稿: 11
 

MSDNをみても、理解ができないので、アドバイスをください。
bErr = ReadFile(//メール受信チェック
hMailslot,
szBuff,
sizeof(szBuff)-1,
&dwReaded,
NULL);←ここをOVERLAPPED構造体に変更すればよいのですか?


返信引用
kure
 kure
(@kure)
ゲスト
結合: 19年前
投稿: 48
 

yuuさんのスレは↓ですよ。

http://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng.cgi?print+200605/06050028.txt

別の方のスレに混じって質問されると混同してしまいますので
新規にスレを立てて投稿したほうが良いです。

また、cho0さんのスレを勝手に閉じたことに対して
一言くらい弁解があっても良いと思うのですがいかがでしょうか?

> MSDNをみても、理解ができないので

何が理解できないのですか?
それを説明しないと適切なアドバイスもくそもありません。

具体的な使い方はGoogleで「ReadFile OVERLAPPED」や「ReadFile OVERLAPPED
CreateEvent」で検索してみてください。


返信引用
cho1
 cho1
(@cho1)
ゲスト
結合: 19年前
投稿: 4
 

kureさん、いろいろとありがとうございます。


返信引用
cho1
 cho1
(@cho1)
ゲスト
結合: 19年前
投稿: 4
 

みなさん、無事解決いたしました。
いろいろとありがとうございました。


返信引用
固定ページ 2 / 2

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました