Thursday 15 April 2010

c# TCP socket server not responding to client -



c# TCP socket server not responding to client -

i have c# server running under ubuntu 12.04 using mono, next code :

while (true) { console.writeline("socket ready..."); using (socket handlersocket = listenersocket.accept()) { console.writeline("new request..."); backgroundworker newbackgroundworker = new backgroundworker(); byte[] buffer = new byte[1024]; console.writeline("buffer allocated..."); handlersocket.receive(buffer); //newbackgroundworker.dowork += (s, o) => //{ using (socket sender = new socket(addressfamily.internetwork, sockettype.stream, protocoltype.tcp)) { console.writeline("buffer received..."); string request = encoding.unicode.getstring(buffer); console.writeline("new request : {0} /t request : {1}", ((ipendpoint)handlersocket.remoteendpoint).address.tostring(), request); if (request.contains("$getbattlelist")) { //chain of if's , else's continues //the next else if case beingness tested else if (request.contains("$getzerobasedprofile")) { console.writeline("sending profile..."); sender.connect(handlersocket.remoteendpoint); //fails here due not beingness able reach client application, throws timeout exception sender.sendfile(_profilelocation); } else console.writeline("invalid request. ignoring..."); } } }

the server able receive client requests, unable respond because fails connect everytime. missing in code or there else @ work here ?

when take connection using server socket, socket connected client. don't have create new socket connect (in fact, can't). so, instead of creating , using sender, utilize handlersocket:

handlersocket.sendfile(_profilelocation);

c# sockets tcp mono

No comments:

Post a Comment