ASF Bugzilla – Attachment 30580 Details for
Bug 54022
CometEvent.END event is not sent on a suspended socket disconnect when running with Tomcat Native (tcnative-1.dll) on Windows Vista / Windows Server 2008 or newer.
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
a test comet servlet
Test1.java (text/x-java), 1.89 KB, created by
chenzero
on 2013-07-11 11:34:26 UTC
(
hide
)
Description:
a test comet servlet
Filename:
MIME Type:
Creator:
chenzero
Created:
2013-07-11 11:34:26 UTC
Size:
1.89 KB
patch
obsolete
>package comet1; > >import java.io.IOException; >import java.io.InputStream; > >import javax.servlet.ServletException; >import javax.servlet.http.HttpServlet; >import javax.servlet.http.HttpServletRequest; >import javax.servlet.http.HttpServletResponse; > >import org.apache.catalina.comet.CometEvent; >import org.apache.catalina.comet.CometProcessor; > >public class Test1 extends HttpServlet implements CometProcessor { > > //private static final Integer TIMEOUT = 60 * 1000; > > @Override > public void init() throws ServletException { > } > > @Override > public void destroy() { > } > > static int i=1; > public void event(final CometEvent event) throws IOException, ServletException { > i++; > > HttpServletRequest request = event.getHttpServletRequest(); > HttpServletResponse response = event.getHttpServletResponse(); > > System.out.println("Event: " + event + " req:" + request + " resp:"+response); > > if (event.getEventType() == CometEvent.EventType.BEGIN) { > //String p= event.getHttpServletRequest().getParameter("p"); > //request.setAttribute("org.apache.tomcat.comet.timeout", 10 * 1000); > String t= "just test response:" + i; > response.getOutputStream().write(t.getBytes()); > event.close(); > } > else if (event.getEventType() == CometEvent.EventType.ERROR) { > event.close(); > } > else if (event.getEventType() == CometEvent.EventType.END) { > event.close(); > } > else if (event.getEventType() == CometEvent.EventType.READ) { > InputStream is = request.getInputStream(); > byte[] buf = new byte[512]; > do { > int n = is.read(buf); //can throw an IOException > if (n > 0) { > System.out.println("Read " + n + " bytes: " + new String(buf, 0, n) ); > } > else if (n < 0) { > System.out.println("Read <0, EOS ?"); > return; > } > } while (is.available() > 0); > > } > } > >}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 54022
:
29492
| 30580