UDP ブロードキャスト送信 – プログラミング – Home

UDP ブロードキャスト送信
 
通知
すべてクリア

[解決済] UDP ブロードキャスト送信


ルキア
 ルキア
(@ルキア)
ゲスト
結合: 22年前
投稿: 2
Topic starter  

はじめまして。
今、VC++を使ってBROADCAST送信を行おうとしているんですが、
どうもうまくいきません。
(UDP送信まで行ってません。ソケットのBROADCAST許可
ができていません。)
で、教えていただきたいのですが、
nErrorStatus = WSAStartup(MAKEWORD(2,0), &wsaData3);
if(nErrorStatus != 0){
 AddDisplayText(ERROR\r\n);
}
socket_3 = socket( AF_INET, SOCK_DGRAM, 0 );
if( socket_3 == INVALID_SOCKET ) {
 AddDisplayText(ERROR\r\n);
}
int nLevel = SOL_SOCKET;
int nOption = SO_BROADCAST;
int nOptionValLen = sizeof(int);
BOOL nOptionValue;
int iRet;
iRet = getsockopt(socket_3,nLevel,nOption,
          (char *)nOptionValue,&nOptionValLen);
nOptionValue = TRUE;
iRet = setsockopt(socket_3,nLevel,nOption,
          (char *)nOptionValue,nOptionValLen);

上記のようなソースを本を参考にして(そのまま?)記述したのですが、
①getsockoptでERR(-1)が返却値になる。
②setsockoptで吹っ飛ぶ。

どこかおかしいところがあるのでしょうか?
宜しくお願いします。


引用未解決
トピックタグ
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

ヘルプには、第四引数にはオプション値を入れる領域への
ポインタを指定せよ、と書いてあります。


返信引用
ルキア
 ルキア
(@ルキア)
ゲスト
結合: 22年前
投稿: 2
Topic starter  

解決しました。
const FAR char * となってたので
単純にキャストしてるだけかと思ってました。
(参考ソースにも&が・・・・)

御迷惑お掛けしました。

dairygoodsさん、ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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