File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes HTML, CSS and JavaScript and the fly likes Help in Freehost 3270 Emulator code...... Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of JavaScript Promises Essentials this week in the JavaScript forum!
JavaRanch » Java Forums » Engineering » HTML, CSS and JavaScript
Reply locked New topic
Author

Help in Freehost 3270 Emulator code......

BL Vijay
Greenhorn

Joined: Nov 14, 2006
Posts: 3
HI Friends, Ive been working on the the FreeHost 3270 for the past few days. I need to basically log or view the data which I have passed to the Emulator as well as the Data which is returned from the Emulator, after the process.

I feel, that the major transactions happen in the AgentIn and the AgentOut methods of the SessionServer class. The data is passed in ByteArrays and even though I am constructing a new String with this ByteArray and printing this value. It is mostly in Non user readable format.

I think the main data is stored in the Bytearray called buffer. Which I am passing to the Input and Output stream.

I had earlier thought that perhaps the data could be encrypted, but after hard coding all the encrypt variables to false, still the data is like junk, hence I assume that is not the problem.

Someone please help me as to where I have made an error. I am frustrated to the core since not able to console myself as why I am not able to able to crack this small amount of code..........

Below is the Sample Modified Code and the Output. Also does this code have a decent doc or a manual somewhere??? Thanks Guys.

CODE:::::::::::
public AgentIn(InputStream eis, OutputStream out, AgentMonitor am)
{
this.in = eis;
this.out = out;
this.am = am;
System.out.println(" In SESSIONSERVER CLASS ..... Agentin constructor method");
cat = Category.getInstance("freehost.AgentIn");
buffer = new byte[BUFFER_SIZE];
cat.debug("Agent In Started... from AgentIn method.. going to call AgentIn thread");
Thread t = new Thread(this);
System.out.println(" Going to start AgentIn thread");
t.start();
System.out.println(" Finished involing AgentIn thread");
}

/**
* Start the thread
*/
public void run()
{
try
{
int bytesRead = 0;
System.out.println(" In SESSIONSERVER CLASS ..... Entering the run method of AgentIn method" );
while(true)
{
System.out.println(" In SESSIONSERVER CLASS ..... in run method of AgentIn method");
if((bytesRead = in.read(buffer, 0, BUFFER_SIZE)) == -1)
{
break;//Connection closed or lost.
}

System.out.println("Read " + bytesRead + " bytes...");
String strnew = new String(buffer);
System.out.print("strnew in AgentIn value is "+strnew );
System.out.println("buffer in AgentIn value is "+buffer);
out.write(buffer, 0, bytesRead);

FileWriter fw = new FileWriter("debug.this", true);
fw.write("FROM CLIENT:\n");
for(int i = 0; i < bytesRead; i++)
{
if(i % 16 == 0)
fw.write('\n');
int x = 0;
if(( x = buffer[i] ) < 0)
x += 256;

fw.write(Integer.toHexString(x) + " ");
System.out.print("Integer.toString value is "+Integer.toString(x) + " ");
}
fw.write("\n\n");
fw.close();

// System.out.println("string value is"+ st);
//System.gc();
}
}
//Once the loop is broken by a -1 return from in.read, the am.agentHasDied method
//is fired, notifying the corresponding AgentOut that it's time to drop the
//connection.


catch(IOException e)
{
//error(e.getMessage());
}
am.agentHasDied(this);
}
}

/**
* This class represents a thread that is the connection to the host.
*/
class AgentOut implements Runnable
{
/**
* The InputStream from the host.
*/
private InputStream in = null;
/**
* The EncryptedOutputStream to the client.
*/
protected OutputStream out = null;
/**
* The AgentMonitor for the connection.
*/
private AgentMonitor am = null;
private byte buffer[] = null;
private static int BUFFER_SIZE = 4096;
/**
* Public constructor for creating an AgentOut object. Called from the
* Connection object.
* @param in InputStream object passed from the Connection object.
* Connection to host.
* @param eos EncryptedOutputStream object passed from the Connection object.
* Connection to client.
* @param am AgentMonitor object passed from the Connection object.
* @see Connection
*/
public AgentOut(InputStream in, OutputStream eos, AgentMonitor am)
{
this.in = in;
this.out = eos;
this.am = am;
System.out.println(" In SESSIONSERVER CLASS ..... Agentout constructor method");
buffer = new byte[BUFFER_SIZE];

Thread t = new Thread(this);
t.start();
System.out.println("Agent out started...");
}
/**
* Start the thread
*/
public void run()//see AgentIn for additional comments.
{
try
{
int bytesRead = 0;

while(true)
{
if((bytesRead = in.read(buffer, 0, BUFFER_SIZE)) == -1)
break;


String strnew1 = new String(buffer);
System.out.print("strnew in Agentout value is "+strnew1 );
System.out.println("buffer in Agentout value is "+buffer);
out.write(buffer, 0, bytesRead);
out.flush();

}

}
catch(IOException e)
{
//error(e.getMessage());
}
am.agentHasDied(this);
}
}


OUTPUT:::::::::::::::



buffer in AgentIn value is [B@1381960

In SESSIONSERVER CLASS ..... in run method of AgentIn method

strnew in Agentout value is ♣├↔α@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@@@@@@@@@@@@◄┴PπΓ╓Γπ╘@πΓ╓┴π╙@╘┼╘╓@├╔├Γ┴┘├@├╔├Γ╫┘─⌠@├╔├Γπ┴╒─@├╔├Γ┴╫╫≥@├╔├Γ@├╔├Γ⌠@├╔├Γ⌡@╔─╘┘├╓≥@@ ◄┬`├╔

├Γ╚┘╞Γ@╔─╘Γπ┘┴╒@╔─╘Γπ╔╓π@╔─╘Γπ╔╓@╔─╘Γ─Γ╞─@╔─╘Γ┘╞╔╞@╔─╘Γ├πΓ@╔─╘ΓΣ╫╓╙@╘┴╔╙Γπ╘@@@◄├≡╔─_ 60;┴╞Γ╓π@╔─╘┘├╓�@╔─

╘Γ�╞π@╔─╘Γ╫╘Γ@╔─╘┼┘├╚�@╔─╘╞╙┼┼π@╔─╘┴π╙�≡@╔─╘┴π╙�≥@╔─╘Γ┴╞Γ╓@@@◄┼@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@◄─⌂↔@‼◄╞O↔α◄╞P@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@◄╟`@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@@@@@@@@@@@@@@@@@@@@@◄╚≡@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@@@@◄J@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@◄KP@@@@@@@@@@

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@◄L`@@@@@@@@@@@@@@@@@@@@@@@@@@@

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@◄M≡@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@◄O@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@@@@@@@@@@@@@@@@@@@◄PP@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@@◄╤`@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@◄╥≡@@@@@@@@@@@@

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@◄╘@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@◄╒P@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@◄╓`@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@@@@@@@@@@@@@@@@@◄╫≡@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

◄┘@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@◄ZP@@@@@@@@@@@@@@

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@◄[`@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@◄\≡@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ∩
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 61591
    
  67

Please do not cross-post the same question in multiple forums. It wastes people's time when multiple redundant conversations take place.


[Asking smart questions] [Bear's FrontMan] [About Bear] [Books by Bear]
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 61591
    
  67

"BL VJ",

There aren't many rules that you need to worry about here on the Ranch, but one that we take very seriously regards the use of proper names. Please take a look at the JavaRanch Naming Policy and adjust your display name to match it.

In particular, your display name must be a first and a last name separated by a space character, and must not be obviously fictitious.

Thanks!
bear
JavaRanch Sheriff
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Help in Freehost 3270 Emulator code......