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


HSPTV!掲示板


未解決 解決 停止 削除要請

2013
0704
ちおびたサーバーとクライアントの仕組みについて4解決


ちおびた

リンク

2013/7/4(Thu) 00:30:07|NO.55472

初心者なので突っ込み所満載かもしれませんが
上が蔵、下が鯖です、一応通信はできていて、鯖の処理に合わせて蔵の★が動くようになりました
ですがサンプルをいじくった程度でソケットやポートの概念もイマイチわからないです
sockcheckで待機中固まったりと普通の命令と勝手が違いすぎて・・・(通信系命令の仕様なんですか?)
このソースだと1人分の通信しかできません、大人数の情報を処理する場合の書き方がさっぱり思いつきません
複数の通信の場合はどのように書くんですか?教えてください

#include "hspsock.as"
s=""
sockclose
adr="x.x.x.x":port=999
sockopen 0,adr,port
if stat : dialog "socket error" : goto *bye
repeat
sockcheck 0
if stat!=0 : break
wait 20
loop

repeat
color 255,255,255
boxf
color
getkey hidari,37
getkey ue,38
getkey migi,39
getkey sita,40

n=0
if hidari = 1:n=2
if migi = 1:n=1
if ue = 1:n=3
if sita = 1:n=4

if p = 0:sockputc n:p=1
if p = 1:sockget s,10:p=0

x =int(strmid(s,0,2))
y =int(strmid(s,2,2))
pos x*12,y*12:mes "★"
pos 50,50:mes x
pos 50,70:mes y

redraw 1
redraw 0
await 0
loop
*bye
mes "終了"
sockclose
stop
//--------------
#include "hspsock.as"
MM = "m"
sockclose
port=999
ipget
mes "IPアドレス:"+refstr
mes "ポート"+port+"で接続を待っています..."
sockmake 0,port
if stat : dialog "Socket error": goto *errbye

repeat
sockwait 0
if stat>1 : dialog "Socket error": goto *errbye
if stat=0 : break
wait 20
loop

repeat
s=""
if cn = 30:{
if n=1:x+1
if n=2:x-1
if n=3:y-1
if n=4:y+1
if x < 0:x=0
if x > 20:x=20
if y < 0:y=0
if y > 20:y=20
n=0
w= (x*100+y)+10000
s=str(w)
s=(strmid(s,-1,4))
if p = 0:sockgetc n:p=1
if p = 1:sockput s:p=0
}
cn++
if cn > 30:cn=0
await 1
loop
*errbye
sockclose
mes "終了"
stop



この記事に返信する


晩御飯

リンク

2013/7/4(Thu) 02:46:07|NO.55477

>ソケットやポートの概念もイマイチわからないです
ソケットはアドレスとポートを合わせたものでアドレスは住所でポートは入り口
もしくは特定の通信の仕組みを指す名前

>sockcheckで待機中固まったり
基本的にHSPのプログラムは一度に一つのことしかできないので通信を待っている間は何もできなくなってしまう
通信系命令の仕様というわけではない

>大人数の情報を処理する場合
ソケットで同時に複数の通信をするためにはスレッドを立てる必要があると思うので恐らく無理じゃないかな
自信ない



ちおびた

リンク

2013/7/4(Thu) 15:18:10|NO.55483

なるほど、ありがとうございます。
大人数の処理をするためのdllとかご存知の方
いらっしゃったら教えてもらえると嬉しいです



晩御飯

リンク

2013/7/5(Fri) 01:19:08|NO.55497

大人数どうのこうのより1対nや1対多のほうが恐らく一般的な呼称なのでそっちのほうが検索しやすいかもしれない



ちおびた

リンク

2013/7/6(Sat) 06:38:06|NO.55506

使えそうなのが見つかりました、ども



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