Sockets and Streams
okibi
spam at ratedo.com
Fri Apr 4 03:36:32 PDT 2008
I've asked something similar before, but my problem doesn't seem to be resolved.
Anyways, I have a program that I'm trying to use sockets to get it to talk to other instances. I have a server portion set up, as well as the client side, which seems to run pretty good. I'm using tcpsockets and socketstreams, and just doing a listn and wait for accept on the server side.
My question is this: Even though it usually connects just fine, once I verify that the connection is made and try to hit a function on the server side via the server portion, it will either run part of it, or none of it and crash. Am I maybe doing it wrong? This is my current code:
server:
auto soc = new TcpSocket();
soc.bind(new InternetAddress("localhost", 10101));
soc.listen(10);
while (true)
{
Socket clientSocket = soc.accept();
Stream str = new SocketStream(clientSocket);
if(clientSocket.isAlive())
{
char[] line = str.readLine();
clientSocket.close();
if(line !is null)
{
srvCMD(replace(line, "\n", ""));
line = null;
}
clientSocket.close();
}
}
client:
Socket socket = new TcpSocket(new InternetAddress("localhost", 10101));
Stream stream = new SocketStream(socket);
if(socket.isAlive())
{
stream.writeString(args[1]~"\n");
socket.close();;
}
For the client, args[1] is simply the argument passed to the client that I'm wanting to relay to the server to get processed.
Am I doing something wrong?
Thanks!
More information about the Digitalmars-d-learn
mailing list