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


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
0103
れもんgDPを使っての通信について7未解決


れもん

リンク

2012/1/3(Tue) 13:04:44|NO.44014

gDPを使ってホストからクライアントへ変数の内容を送ることはできないのでしょうか?
http://sky.geocities.jp/f_the_darudaru/gDP/index.html
↑gDpです。



この記事に返信する


てれてれ

リンク

2012/1/3(Tue) 13:42:14|NO.44017

スレ放置したまま名前だけ変えておんなじような質問してんじゃねーよ。
http://hsp.tv/play/pforum.php?mode=all&num=43981



f(現実逃避中)

リンク

2012/1/3(Tue) 15:34:16|NO.44026

よし!
このスレは俺がスポーツマンシップ的に乗っ取った!!
元と同じ話題は元のスレッドに帰ってからやんな!

たった今からここは「だるだるのえふ」の「超だるいんですけど。」のコーナーだ!


さて、突如始まりましたこのコーナー、やたらと廃テンションでもうそろそろだるい。
本題に入る。

>例えばホスト(自分)が関数xに5を入れたとするとプレイする人の関数xにも5が入るようにするにはどうすればいいのでしょうか?
>ホストからクライアントへ変数の内容を送ることはできないのでしょうか

この部分、ハっとしたね。
目から角膜。じゃない、うろこ。


「そっかー・・・『こう』考えるんだー・・・」と。


実の所、結構真面目に「なるべく単純に」「なるべく簡単に」のつもりでアレ作ったけど
あの程度では「全然」だって事なんだな・・・。

「こちらが変数Aに値を入れたら」
「向こうの変数Aも同じ値に為って欲しい」

NA RU HO DO !!

・・・。
その相手さんは行き成り変数の内容変わって大丈夫な設計してんのかよ?
とか突っ込む前に感心が先に来たわー・・・。

例えば「サーバが管理してるデータ」を「クライアント全員が自動的に共有できる」
と考えると面白い姿かもしれない。
ちょっと作ってみたくなったカモ。


行き成り作るのは時間掛かるからとりあえず

・まず配列変数を作る
・サーバは配列変数の中身を監視し、変更の有る要素を更新する
・クライアントは常に最新状態に更新された同等の配列変数を有する

ぱっと、こんな実相方法思いついたけど、どうだろう。
元スレ主に理解できたかどうかは別として、この位ならモジュールで何とかなるのではなかろうか。

ま、作るとしても今忙しいから、春以降だけどな。今でさえ出勤中だし。



晩御飯

リンク

2012/1/3(Tue) 15:42:30|NO.44028

SubversionというかGitというか



トッポ

リンク

2012/1/3(Tue) 16:35:20|NO.44034

回答ありがとうございます。

不可能ではないとの事なので制作方法を教えてください。



f(現実逃避中)

リンク

2012/1/3(Tue) 18:23:30|NO.44035

自分が言った内容の物が作れる位なら、
こんな質問しなくていい筈なんだわ。
ぶっちゃけた話。


要するに基礎ができてないので
とりあえず

sdim
strlen
strmid
peek
poke
if
int

この辺の命令をエディタで打ち込んで
それぞれにカーソル合わせてf1押してみれば良いんでね?

この辺を組み合わせれば出来るだろ。



Buzzword

リンク

2012/1/3(Tue) 21:07:49|NO.44037

;ネットワーク設定
#include "gDP.as"
sdim zyusin_buffer , 1024

ret = ghost( "" , 50000 , gMODE_PEER , gMSG_ERROR )
if ret != 0 : mes "セッション作成に失敗しました。"
if ret == 0 : mes "セッション作成に成功しました。"

repeat

while (gcheckbuffertext() > 0 )
ret = ggettext( zyusin_buffer , 1024 )
;ex "ホストのX座標は00100" と送信されるとする。
;形式は送信の文字列右からかぞえて5ケタを数字としてわけるようにする。
;送信されたメッセージは、zyusin_bufferに格納されています。

len=strlen(zyusin_buffer) ;文字の長さ
mozi=strmid(zyusin_buffer,0,len-5) ;文字の部分
trimming=strmid(zyusin_buffer,len-5,5) ;数字の部分

;exの送信内容だと lenは13文字だから13 moziはホストのX座標は trimmingは00100となります。
if mozi="ホストのX座標は" : HOST_X=trimming
;のように書けば変数の値を渡せます。



wend


loop



Buzzword

リンク

2012/1/3(Tue) 21:23:17|NO.44038

すみません。だいぶ見にくいですね;
#include "gDP.as"の部分でエラーが出る場合は下記のURLからダウンロードしてソースのディレクトリにおいてください。
http://sky.geocities.jp/f_the_darudaru/gDP/index.html

ホストのソースとクライアントのソース書きなおしたので書いておきます。

ホストのソース!!

#include "gDP.as"
sdim zyusin_buffer , 1024

ret = ghost( "" , 50000 , gMODE_PEER , gMSG_ERROR )
if ret != 0 : mes "セッション作成に失敗しました。"
if ret == 0 : mes "セッション作成に成功しました。"

repeat
color 255,255,255 : boxf
while (gcheckbuffertext() > 0 )
ret2 = ggettext( zyusin_buffer , 1024 )
;ex "ホストのX座標は00100" と送信されるとする。
;形式は送信の文字列右からかぞえて5ケタを数字としてわけるようにする。
;送信されたメッセージは、zyusin_bufferに格納されています。

len=strlen(zyusin_buffer) ;文字の長さ
mozi=strmid(zyusin_buffer,0,len-5) ;文字の部分
trimming=strmid(zyusin_buffer,len-5,5) ;数字の部分

;exの送信内容だと lenは13文字だから13 moziはホストのX座標は trimmingは00100となります。
if mozi="ホストのX座標は" : HOST_X=int(trimming)
;のように書けば変数の値を渡せます。



wend
color 0,0,0
pos 0,0
if ret != 0 : mes "セッション作成に失敗しました。"
if ret == 0 : mes "セッション作成に成功しました。"

mes ""+HOST_X+""
await 60

loop


クライアントのソース!!!

#include "gDP.as"
sdim zyusin_buffer , 1024
ip = "127.0.0.1"

ret = gconnect( ip , 50000 , gMODE_PEER , 0 )
if ret != 0 : mes "セッションの参加に失敗しました。"
if ret == 0 : mes "セッションの参加に成功しました。"
HOST_X=100
HOST_X_SEND=strf("%05d",HOST_X)

ret = gsendtext( "ホストのX座標は"+HOST_X_SEND+"",100)
if ret != 0 : mes "メッセージ送信に失敗しました。"
if ret == 0 : mes "メッセージ送信に成功しました。"

ホストを先に実行して、そこからクライアントを実行してください。
ご参考程度にわかりにくいですがどうぞ^^



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