mirror of
https://github.com/SFML/SFML.git
synced 2024-12-11 12:39:15 +08:00
2f524481c1
git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/trunk@1002 4e206d99-4929-0410-ac5d-dfc041789085
67 lines
1.1 KiB
D
67 lines
1.1 KiB
D
module socketclient;
|
|
|
|
import dsfml.system.all;
|
|
import dsfml.network.all;
|
|
|
|
version (Tango)
|
|
{
|
|
import tango.io.Console;
|
|
import tango.io.Stdout;
|
|
}
|
|
else
|
|
{
|
|
import std.stdio;
|
|
}
|
|
|
|
|
|
void main()
|
|
{
|
|
//The TCP socket
|
|
SocketTCP client = new SocketTCP();
|
|
//Try to connect to server (on localhost for this sample)
|
|
client.connect(9000, IPAddress.LOCALHOST);
|
|
|
|
display("Connected to server."w);
|
|
|
|
//Prepare a packet with a string
|
|
Packet p = new Packet();
|
|
p.set("Hello from the client !"w);
|
|
if (client.send(p) != SocketStatus.DONE) // Assert on error
|
|
assert(0);
|
|
|
|
//Clear the packet
|
|
p.clear();
|
|
|
|
//Wait for the response of the server and display it
|
|
if (client.receive(p) != SocketStatus.DONE)
|
|
assert(0);
|
|
wchar[] c;
|
|
p.get(c);
|
|
display("Packet received : "w ~ c);
|
|
read();
|
|
}
|
|
|
|
void display(wchar[] c)
|
|
{
|
|
version (Tango)
|
|
{
|
|
Stdout(c).newline;
|
|
}
|
|
else
|
|
{
|
|
writefln("%s", c);
|
|
}
|
|
}
|
|
|
|
void read()
|
|
{
|
|
version (Tango)
|
|
{
|
|
Cin.get();
|
|
}
|
|
else
|
|
{
|
|
readln();
|
|
}
|
|
}
|