Re: [xSocket-develop] Odp: Accessing nbc from another class
Status: Inactive
Brought to you by:
grro
|
From: <jun...@wp...> - 2008-11-28 08:49:23
|
Hi Gregor,<br><br>Thank You for Your response. Well my task is simple. In my Java program I want to access any time (not only while onData event) existing Nonblocking connection in order to send some messages to the client. The Problem is that I have 2 connections (one on port 8091 and the second one on port 8090) and I don't know how to distinguish them. The both are called nbc. Only the server names are different (srv and srv2) but accessing nbc using server name ie. srv.nbc.write("abc") or
srv2.nbc.write("") doesen't work. <br><br>My program works as follows: Main function creates 2 servers (srv and srv2) on two different ports (8091 and 8090). onData function in class xSocketDataHandler sends easy echo response to the client. It is actually not really importatnt what it does right now. I have to write function which will handle incomming data in the future. This is that function splitString in Main which is calld within onData class. Right now this function splitString
does nothing with the string but I wanted to try if I can send some data over existing nbc using that function. And I can't sand any data. I don't know why. <br><br>package xsocketserver;<br>
<br>
import org.xsocket.connection.*;<br>
import org.jdom.input.SAXBuilder;<br>
import org.jdom.Document;<br>
import org.jdom.JDOMException;<br>
import org.jdom.Element;<br>
import org.jdom.output.XMLOutputter;<br>
import org.jdom.Attribute;<br>
import java.io.*;<br>
//import xSocketDataHandler.*;<br>
<br>
<br>
public class Main<br>
{<br>
protected static IServer srv = null;<br>
protected static IServer srv2 = null;<br>
public static Document doc;<br>
public static Element webapp;<br>
public static INonBlockingConnection nbc;<br>
public static xSocketDataHandler srvHandler;<br>
<br>
public static void main(String[] args)<br>
{<br>
<br>
<br>
<br>
try<br>
{<br>
//nbc1 = new NonBlockingConnection("<a href="http://127.0.0.1" target="_blank">127.0.0.1</a>", 8092);<br>
srvHandler = new xSocketDataHandler();<br>
<br>
srv = new Server(8091, srvHandler);<br>
srv.start();<br>
srv2 = new Server(8090, new xSocketDataHandler());<br>
srv2.start();<br>
<br>
//nbc = new NonBlockingConnection(srvHandler);<br>
//nbc1.write("aaaaaaabbbbbbbaaaaa" + "\0");<br>
<br>
}<br>
catch(Exception ex)<br>
{<br>
System.out.println(ex.getMessage());<br>
}<br>
<br>
<br>
<br>
<br>
}<br>
<br>
<br>
public static void stringSplit(String str)<br>
{<br>
try<br>
{ <br><br> nbc.write("some text");<br>
//xSocketDataHandler obj = new xSocketDataHandler();<br>
//obj.onData(true).nbc.write("dsfds");<br>
//srvHandler obj = new srvHandler();<br>
//obj.nbc.write("trele morele" + "\0");<br>
//nbc1.write("aaaaaaa" + "\0");<br>
}<br>
catch(Exception ex)<br>
{<br>
System.out.println(ex.getMessage());<br>
}<br>
}<br><br><br>package xsocketserver;<br>
<br>
import java.io.IOException;<br>
import java.nio.BufferUnderflowException;<br>
import java.nio.channels.ClosedChannelException;<br>
import org.xsocket.*;<br>
import org.xsocket.connection.*;<br><br>
public class xSocketDataHandler implements IDataHandler<br>
<br>
<br>
{<br>
public INonBlockingConnection nbc;<br>
<br>
public boolean onData(INonBlockingConnection nbc) throws IOException,<br>
BufferUnderflowException, ClosedChannelException,<br>
MaxReadSizeExceededException<br>
{<br>
try<br>
{<br>
String data = nbc.readStringByDelimiter("\0");<br>
Main.stringSplit(data);<br>
nbc.write(data + "\0");<br>
//nbc.write("trele morele" + "\0");<br>
<br>
}<br>
catch(Exception ex)<br>
{<br>
System.out.println(ex.getMessage());<br>
}<br>
<br>
return true;<br>
}<br><br>regards,<br>sly<br><br>Dnia 27-11-2008 o godz. 21:58 Gregor Roth napisał(a):
<blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0px 0px 0px 0.8ex; padding-left: 1ex;">Hi sly,<br><br>your code snippets are quite confusing. May be it helps that you describe what you intent to do.<br><br>regards<br>Gregor <br><br><br></blockquote><br><br /><br /><br />----------------------------------------------------<br />Spadł pierwszy śnieg, więc wybieramy się na narty. Jedziesz z nami?<br />TUTAJ wszystko o szusowaniu - kliknij: <br /><A HREF="http://klik.wp.pl/?adr=http://narty.wp.pl&sid=571" TARGET="_blank">http://klik.wp.pl/?adr=http://narty.wp.pl&sid=571</A>
|