Featured post

c# - Usage of Server Side Controls in MVC Frame work -

i using asp.net 4.0 , mvc 2.0 web application. project requiremrnt have use server side control in application not possibl in noraml case. ideally want use adrotator control , datalist control. i saw few samples , references in codepleax mvc controllib howwver found less useful. can tell how utilize theese controls in asp.net application along mvc. note: please provide functionalities related adrotator , datalist controls not equivalent functionalities thanks in advace. mvc pages not use normal .net solution makes use of normal .net components impossible. a normal .net page use event driven solution call different methods service side mvc use actions , view completly different way handle things. also, mvc not use viewstate normal .net controlls require. found article discussing mixing of normal .net , mvc.

Java Server socket stuck on accept call (Android Client, Java Server) -


below have put fragment of code understand problem. have server code, works fine first time client loads , sends packet. after first packet received, server stuck on "accept".

i have wireshark configured port, , server getting packets. wonder why accept wont return more once. driving me nuts.

server code

 public class dapool implements runnable {  private serversocket serversocket;  private arraylist<da> pool;  private linkedlist<socket> clientconnq;  public dapool(int newpoolsize, int serverport) {   try {    serversocket = new serversocket(serverport, 500, inetaddress.getbyname("127.0.0.1"));   } catch (ioexception e) {    e.printstacktrace();    return;   }   poolsize = newpoolsize;   clientconnq = new linkedlist<socket>();   pool = new arraylist<da>(poolsize);                 da devicethread;   (int threads = 0; threads < poolsize; threads++) {    devicethread = new da();    connpool.add(devicethread);    devicethread.start();   }  }  public void run() {   while (true) {    socket incomingsocket;    try {     incomingsocket = serversocket.accept();    } catch (ioexception e) {     e.printstacktrace();     return;    }    insertnewconntoq(incomingsocket);   }  }    private class da extends thread {   private socket clientsocket;   private objectinputstream inputobjectstream;   public da() {    }   public void run() {    while (true) {      while (clientconnq.isempty()) {      synchronized (clientconnq) {       try {        clientconnq.wait();       } catch (interruptedexception ignored) {        ignored.printstacktrace();       }      }     }     synchronized (clientconnq) {      clientsocket = (socket) clientconnq.removefirst();      try {       inputobjectstream = new objectinputstream(clientsocket.getinputstream());      } catch (ioexception e) {       e.printstacktrace();       return;      }         // useful here                                          }     }    }   }  } 

client code

public class sendqueue extends thread {  linkedlist<message> requestq;  message sendrequest, requestmessage;   socket clientsocket;  outputstream outputstream;  objectoutputstream objectoutputstream;   public sendqueue(socket newclientsocket) {   requestq = new linkedlist<message>();   clientsocket = newclientsocket;  }   public void run() {   while (true) {    synchronized (requestq) {     while (requestq.isempty()) {      try {       requestq.wait();      } catch (interruptedexception ignored) {       ignored.printstacktrace();      }     }     sendrequest = requestq.removefirst();    }    try {     outputstream = clientsocket.getoutputstream();     objectoutputstream = new objectoutputstream(outputstream);         objectoutputstream.writeobject(sendrequest);     objectoutputstream.flush();     outputstream.flush();    } catch (ioexception e) {     e.printstacktrace();    } catch (runtimeexception e) {     e.printstacktrace();    }   }  }   public int sendrequest(message message) {   synchronized (requestq) {    requestq.addlast(message);    requestq.notify();   }   return 0;  } } 

i don't see timeout being set on serversocket.

serversocket.accept() blocking operation block until either error occurs, timeout occurs, or connection accepted.

try

serersocket.setsotimeout(10000) 

you don't seem closing streams when finished.


Comments

Popular posts from this blog

c# - Usage of Server Side Controls in MVC Frame work -

cocoa - Nesting arrays into NSDictionary object (Objective-C) -

ios - Very simple iPhone App crashes on UILabel settext -