UDP通信の仕方

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
メッセージ
作成者
Papa

UDP通信の仕方

#1 投稿記事 by Papa »

UDP通信の仕方を教えて下さい。
WinSockが使えそうですがサンプルが無く困っています。
送信サンプルコードだけでも頂ければ助かります。
ゲスト

Re: UDP通信の仕方

#2 投稿記事 by ゲスト »

下記サイトの「UDP クライアント側」を移植してみました。
https://www.katto.comm.waseda.ac.jp/~ka ... ocket.html

sendto()にて、エラーコード10014(呼び出しでポインター引数を使用するときに、無効なポインター アドレスを検出しました。)
がでます。

どなたか、アドバイスをお願いします。
Papa

Re: UDP通信の仕方

#3 投稿記事 by Papa »

ユーザー名が消えてしましました。
前記は、質問者からの書き込みです。
申し訳ありません。
たかせ
記事: 216
登録日時: 2006年2月05日(日) 17:10
お住まい: 東京都

Re: UDP通信の仕方

#4 投稿記事 by たかせ »

私はUDP通信に関することは一切わかりませんが。

第2パラメータがString型での指定が影響してると思います。
そこでbuf As Stringをbuf As *Byteに直してみてください。
修正後
Declare Function sendto Lib "wsock32.dll" (ByVal s As Long, buf As *Byte, ByVal lngLen As Long, ByVal flags As Long,ByRef sTo As sockaddr_in, ByVal tolen As Long) As Long
念のためご確認願います。

String型は特殊な型をもつ変数です。またWin32 APIには対応してないようです。
詳細はトップページにあるヘルプセンターをご確認ください。
よろしくお願いいたします。
papa

Re: UDP通信の仕方

#5 投稿記事 by papa »

アドバイスありがとうございました。

第2に加え第6パラメーターにも問題が有り修正して動作しました。
ニーズは無いと思いますが、通信に関してABのサンプルが見当たらないので
コードを残しておきます。