-3

今回はゲームに取り組んでいて、問題に遭遇しました。そのため、いくつかのパケットをトレースしていて、ソースに複製を作成しました。したがって、関数:

function handleBakeryStateUpdate( $data, $str, $clientid )
{
    $client    = $this->clients[ $clientid ]; //$client SHOULD ALWAYS BE A MEMBER OF THE CLIENT CLASS!
    $this->sendToRoom( $client->extRoomID, "%xt%barsu%" . $client->ID . "%"{'CurrentStation':'IngredientsStation','IngredientsStation':[{'IngredientType':'Eggs','TotalRequired':1,'CurrentCount':0},{'IngredientType':'Milk','TotalRequired':1,'CurrentCount':0},{'IngredientType':'Hay','TotalRequired':1,'CurrentCount':0},{'IngredientType':'Flour','TotalRequired':1,'CurrentCount':0}],'CheerStation':{'CheerCapacity':7,'CurrentCheerCount':7,'Emote':7},'MultiplierStation':{'Counter':-1,'Multiplier':'Small'}}"%" );
}

パケットは大量のものを送信することになっており、そのパケットには { と } があります。そして、もう 1 つの問題は、関数にも { と } があることです。だからそれは私に与えます:

PHP Parse error:  syntax error, unexpected '{' in ...

どうすればこれを修正できますか?

詳細情報: 送信しているパケットは次のとおりです。

{'CurrentStation':'IngredientsStation','IngredientsStation':[{'IngredientType':'Eggs','TotalRequired':1,'CurrentCount':0},{'IngredientType':'Milk','TotalRequired':1,'CurrentCount':0},{'IngredientType':'Hay','TotalRequired':1,'CurrentCount':0},{'IngredientType':'Flour','TotalRequired':1,'CurrentCount':0}],'CheerStation':{'CheerCapacity':7,'CurrentCheerCount':7,'Emote':7},'MultiplierStation':{'Counter':-1,'Multiplier':'Small'}}

ありがとうございました。

4

1 に答える 1

1

文字通り、パーセント記号でカプセル化された文字列として JSON を渡したい場合は、次のようにします。

function handleBakeryStateUpdate( $data, $str, $clientid )
{
    $client    = $this->clients[ $clientid ]; //$client SHOULD ALWAYS BE A MEMBER OF THE CLIENT CLASS!
    $this->sendToRoom( $client->extRoomID, "%xt%barsu%" . $client->ID . "%" . "{'CurrentStation':'IngredientsStation','IngredientsStation':[{'IngredientType':'Eggs','TotalRequired':1,'CurrentCount':0},{'IngredientType':'Milk','TotalRequired':1,'CurrentCount':0},{'IngredientType':'Hay','TotalRequired':1,'CurrentCount':0},{'IngredientType':'Flour','TotalRequired':1,'CurrentCount':0}],'CheerStation':{'CheerCapacity':7,'CurrentCheerCount':7,'Emote':7},'MultiplierStation':{'Counter':-1,'Multiplier':'Small'}}" . "%" );
}

それが実際にあなたが望んでいるとは思えませんが、sendToRoom期待していることを示さない限り、それが私ができる最善の答えです.

また、「パケット」をそのまま使用すると非常に混乱することに注意してください。関数に文字列を渡すだけです。パケットという言葉の使用は、ネットワーキングに関して非常に具体的な意味を持っているため、混乱を招きます。

于 2013-01-02T23:49:16.647 に答える