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


HSPTV!掲示板


未解決 解決 停止 削除要請

2011
1010
名無しpcbnet2を使用したUDPによるヌルを含むデータの受信5解決


名無し

リンク

2011/10/10(Mon) 13:20:37|NO.42201

スレタイのまんまです
ヌル文字で区切られたデータを受信したいのですが、
ヌルの所でおわりだと判断され受信が終了してしまいます
何か代替策か何かあればご教授願います



この記事に返信する


wass

リンク

2011/10/11(Tue) 23:47:10|NO.42297

ヌル文字以外で区切るのが最もいいと思うが



who

リンク

2011/10/12(Wed) 01:56:19|NO.42298

ぬる文字が出なくなるような暗号化をして送信してから、受信後に複合化するというのはどうですか?



名無し

リンク

2011/10/12(Wed) 17:54:58|NO.42302

回答有難うございます
諸事情で送信側の仕様か変更できないのでどうにかならないかと思ったのですが、
やはり通信の仕様的に厳しいでしょうか。。。



なたで

リンク

2011/10/13(Thu) 00:26:59|NO.42321

文字列用の送受信命令 udpput , udpget を使用していませんか。
データ用の udprecv , udpsend を使えば送受信できると思います。

Shark++さんのサンプルを参考。

サーバー

#include "pcbnet2.as" port = 8888 title "UDP サーバー" udpsock socket,port if stat : dialog "ソケットの初期化に失敗しました。",1 : end onexit gosub *onexit_ repeat udpcheck packets,socket if(stat!=0) { gosub *onexit_ } if(0<packets) { count++ udpcount size, socket sdim data, size udprecv data, 0, size, socket hsvcolor 0,0,255:boxf:color:pos 0,0 mes "["+count+"] size = " + size repeat size c = " ":poke c, 0, peek(data, cnt) mes str(cnt)+"\t"+peek(c,0)+"\t"+c loop } wait 1 loop *onexit_ udpclose socket end

クライアント

#include "pcbnet2.as" #define NUL 0 port = 8888 host = "127.0.0.1" title "UDP クライアント" udpsock socket if stat : dialog "ソケットの初期化に失敗しました。",1 : end udpsendto socket,host,port data = "ABCDEFG" size = strlen(data) poke data, 3, NUL udpsend data, 0, size, socket udpclose socket end



名無し

リンク

2011/10/15(Sat) 05:56:34|NO.42389


repeat size c = " ":poke c, 0, peek(data, cnt) mes str(cnt)+"\t"+peek(c,0)+"\t"+c loop
でデコードしたところ正常に文字列が取得できました
ありがとうございました。



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