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


HSPTV!掲示板


未解決 解決 停止 削除要請

2006
1024
hitochanデータ送信4解決


hitochan

リンク

2006/10/24(Tue) 16:59:26|NO.3064

sdim sky,50000
bload "winter.jpg",sky,-1
これをsockputbでクライアント側に送信して、
クライアント側がsockgetbで受信し、
それをbsave命令で
sockgetb sky,0,50000,0
bsave "test.jpg",sky,50000
このように、
保存するというプログラムを
組みました。しかし、その保存されたファイル
の中はなにもありません。なぜですか?



この記事に返信する


七次元

リンク

2006/10/24(Tue) 20:56:17|NO.3071

適当にスクリプトを作ってやってみましたが正常に送信できましたよ。
もちろんバイナリファイルで試しました。
短いようでしたらホスト、クライアントのソースを貼り付けてみてください。
長いのならどこかにUPしてリンクを



hitochan

リンク

2006/10/24(Tue) 21:25:15|NO.3072

サーバー側
sdim sky,50000
bload "winter.jpg",sky,-1
#include "hspsock.as"
*main
port=999
ipget
sockmake 0,port
if stat : dialog "Socket error": goto *errbye

a=0
repeat
sockwait 0
title "CHK="+stat+"/"+a
if stat>1 : dialog "Socket error": goto *errbye
if stat=0 : break
a+
wait 10
loop
wait 100
sockputb sky,0,50000,0
if stat=0 : dialog "sockputb": goto *errbye

*bye
sockclose
goto *main ; サーバーを続ける

*errbye
sockclose
mes "終了"
stop

クライアント側
sdim sky,50000
#include "hspsock.as"
adr="127.0.0.1"
port=999
mes adr+"、ポート"+port+"に接続中..."
sockopen 0,adr,port
if stat : dialog "socket error" : goto *bye

mes "接続しました..."

a=0
repeat
sockcheck 0
title "CHK="+stat+"/"+a
if stat!=0 : break
wait 10
a+
loop
sockgetb sky,0,50000,0
bsave "test.jpg",sky,100
if stat:end
*bye
mes "終了"
sockclose
stop
こんな感じです。



七次元

リンク

2006/10/24(Tue) 21:50:42|NO.3073

スクリプトがみずらい・・・
タブを突っ込んで見やすくするとデバッグするときも楽ですよ。

っで、見たところ
>その保存されたファイルの中はなにもありません。
とありますが、100byteのデータが書き込まれてますよ。
というわけでbsaveのところの第3引数を-1に変えるとちゃんと保存されました。
なにか最初に書いてたスクリプトと違う気がしますが・・・



hitochan

リンク

2006/10/25(Wed) 12:41:23|NO.3081

なるほど、わかりました。
スクリプトはタブを入れると見やすくなるんですね。
返答ありがとうございました。



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