Hi All,

  Need your help, on the below request.

Requirement:
Server:
2 socket listening to 2 different ports with one main program
        Socket1 Port1 (Used for receiving user request(user data))
        Socket2 Port2 (Used for system request(system data))

User request arrives via Socket1:Port1 needs to be sent Socket2:Port2 Once the request arrives then the request has to be sent to the Manger(another server) via Socket2:Port2

I was able to program to run multiple socket and send request to Socket1:Port1 but not able to send the same request to Socket2:Port2 tried both options sendTo and receiveFrom but no luck.

Note: the user request should to directly reach the Manger(another server) it should is always follow the data communication layer which is Socket2:Port2 as the server Manger will connect via Socket2:Port2(only) to receive data.


void main () {
auto ext  = new Thread(&ext).start();
auto int  = new Thread(&int).start();
}

void ext () {
ushort extport  = 1120;
Socket ext;
char[1024] buf;
Address mainserver = new InternetAddress("server1", 1121);
ext = new TcpSocket();
ext.bind(1120);
ext.listen(1);
ext.accpet();
ext.receive(buf[]);
writeln(buf[0..1024]);
ext.sendTo(buf[0..1024], SocketFlags.NONE, mainserver);
}

void int () {
ushort intport  = 1121;
Socket int;
char[1024] buf;
Address mainserver = new InternetAddress("server1", 1120);
Address manager = new InternetAddress("server1", 1120);
int = new TcpSocket();
int.bind(1120);
int.listen(1);
int.accpet();
int.receive(buf[0..1024], SocketFlags.NONE, mainserver);
writeln(buf[0..1024]);
int.sendTo(buf[0..1024], SocketFlags.NONE, manager);
}


From,
Vino.B

Reply via email to