Gerne würde ich mit PHP an einem C# Socket Server Daten mit Socket_write senden. Das Problem scheint zu sein die Daten im richtigen Format zu senden. (Server erkennt keinen Login Request type = 4)
C# Client Code Beispiel
// type = 4
Datenstruktur data
// Mein socketWrite Code
C# Client Code Beispiel
// type = 4
private void SendPacket(ServerPackets type, byte[] data)
{
var stream = new MemoryStream();
var writer = new BinaryWriter(stream);
writer.Write((byte)type);
writer.Write((short)(data.Length));
writer.Write(data);
lock(m_sendQueue)
m_sendQueue.Enqueue(stream.ToArray());
}
public enum ServerPackets
{
Login = 4,
}
{
var stream = new MemoryStream();
var writer = new BinaryWriter(stream);
writer.Write((byte)type);
writer.Write((short)(data.Length));
writer.Write(data);
lock(m_sendQueue)
m_sendQueue.Enqueue(stream.ToArray());
}
public enum ServerPackets
{
Login = 4,
}
Datenstruktur data
PHP-Code:
$array = array(
"Username"=>"Test",
"Password"=>"test",
"UID"=>"test",
"Version"=>"199970"
);
$json_data = json_encode($array);
PHP-Code:
$type = 4;
socket_write($this->socket,$type,strlen($type));
socket_write($this->socket, $json_data, strlen($json_data));
Kommentar