Reading Data From Socket / Responses Of Python Server
Nov 3, 2014
I'm having a lot of problems reading data from a socket. I'm trying to read the responses of a python server. I've a
BufferedReader inputStream = new BufferedReader( new InputStreamReader(socket.getInputStream()));
And then:
char[] messageChunk=new char[32768]; //32768
List<Byte> messageBytesList = new ArrayList<Byte>();
while (inputStream.ready()) {
inputStream.read(messageChunk, 0, 32768);
for(int k=0;k<32768;k++){
messageBytesList.add((byte)messageChunk[k]);
}
}
inside a thread. Then I convert the list of bytes to a byte array using:
Byte[] messageBytes = messageBytesList.toArray(new Byte[messageBytesList.size()]);
byte[] message = ArrayUtils.toPrimitive(messageBytes);
The problem is that I often receive ArrayOutOfBound errors when I try to parse the byte array. I think that I'm reading from the socket in a wrong way..
View Replies
ADVERTISEMENT
Jul 22, 2014
So we have a Client and Server. Client opens a socket to Server, server initiates new Thread to handle the communication with client. Is there a way to be singnalled when there is input on socket, so I don't have to use infinite while loop solution?
View Replies
View Related
Mar 26, 2014
The below is the existing data in a file running over 24768 lines
There are duplicate names link (abc) , width and FLof which stands for offset
file A
------------------
###########################################################################
# F Name Gro Width FLof Class
###########################################################################
1cbb abc - 6 2 INDIRECT
1cbc xyz - 3 0 INDIRECT
1cbd abc - 4 0 INDIRECT
1cf3 bcd - 3 5 INDIRECT
1cf4 pqr - 3 0 INDIRECT
1cf5 bcd - 8 0 INDIRECT
---------
---------- so on
I want a script to convert the file data to as folowing data :
file B
-----------------
###########################################################################
# F Name Gro Width FLof Class
###########################################################################
1cbb abc_7_2 - 6 2 INDIRECT
1cbc xyz - 3 0 INDIRECT
1cbd abc_11_8 - 4 0 INDIRECT
1cf3 bcd_7_5 - 3 5 INDIRECT
1cf4 pqr - 3 0 INDIRECT
1cf5 bcd_15_8 - 8 0 INDIRECT
Explanation for conversion is here :
first row abc has width as 6 and FLof as 2 in file A, so it occupies position 2,3,4,5,6,7 accounting to 6 position so represented as abc_7_2 in file B
Now row three of file A has duplicate of abc so now the new offset will be previous offset plus one ie. position will start from 8 and it goes as follows 8,9,10,11 so represented as abc_11_8
This will create unique and informative names, the same goes with other rows :
</pre> mh_sh_highlight_all('xml');
View Replies
View Related
Feb 26, 2014
I'm writing a really simple 1 on 1 chatting program thing using java.net.Socket and reading each other's messages b using writeUTF() and readUTF() of java.io.DataOutputStream and java.io.DataInputStream. Thing is, I wanna write a thread for both sides to continuously read from their respective socket's input streams while ignoring the lack of data coming through like when one user is not sending a message or something. I've written a dumbed down version of this that only reads one message from only one side and another one that sends a file, both of which work fine, I guess.
I'm using java.util.Scanner for user input, if that's acceptable, for I am not too familiar with Java's other readers. Also, I just started teaching myself about java.net.Socket, so I may not be too familiar other than the basics like how to set up a connection and how to send data using the getOutputStream() member function and stuff like that.
View Replies
View Related
Sep 16, 2014
Any example of client/server socket based application using Spring and Maven where application do the following
Client sends a request with a path to any file on the server
„h Server reads the file and responds back with the content
„h Client outputs the content to the console
I am trying to follow this [URL] ....
I am using java 6
View Replies
View Related
Dec 3, 2014
What is the difference between instansiating a ServerSocket and .accept(); and a ServerSocketChannel .accept();
They both listen on a port for incoming connections so what is the benifit or dissadvantage of ServerSocketChannel?
View Replies
View Related
Feb 6, 2015
Firstly, my code is just a demo of my multiplayer game (2 or more players can play simultaneously) to demonstrate my problem without any extra things. I have successfully implemented peer-to-peer (P2P) communication in my game. Later, I decided to add support for client-server communication (ie a central server which is also a player) in my game. It should be much easier than P2P. Now here is the problem:
Suppose, I have 1 server and some clients (may be 1 or more clients). They all should give the following output:
Starting...
A
B
C
E
F
...
...
Done!
They all give the above output without using multi-thread. But using multi-threading, it gives the above output only when there're 1 server and 1 client. I'm using 2 threads (1 for sending, 1 for receiving) for each Socket. That means, each client has only 2 threads for communication but the server has (2 * totalClients) threads.
I've attached my full test project. So, here I'm only showing my 2 thread classes.
ReceiveThread class:
class ReceiveThread extends Thread {
private ObjectInputStream receiveStream;
private BlockingQueue<Character> queue = new ArrayBlockingQueue<Character>(Common.totalClients);
[Code] ....
Since I've attached my full test project, I'm not showing the other 3 classes. They are ServerMain, ClientMain and Common. If I've 2 clients to be connected, then I get the following output:
Server: (Runs first)
Starting...
A
Client 1 (clientID is 1): (Runs after the server)
Starting...
A
B
B
Client 2 (clientID is 2): (Runs after Client 1)
Starting...
A
They are stuck at there, even no exception. Actually, the server and the clients are stuck at the line try { ch = queue.take(); } if more than 1 client are connected. It seems that all are trying to receive data. But without using the dedicated threads, they all work as expected even for more than 1 client. Why is this behaviour? How to solve it? Note that I have used the same SendThread and ReceiveThread classes by which I have succcessfully implemented P2P communication.
About my attached test project file:
It has 5 small .java files for the classes as stated above. It is currently faulty when using additional threads. You have to change clientID variable for each client (they are described inside). But it works as expected without additional threads. To test it without the additional threads:
Comment " TODO" linesUncomment the single lines just after " TODO" linesComment the additional thread construction lines (4 lines)
Currently, for a workaround, I'm not using the dedicated threads for sending and receiving data only for client-server communication in my multi-player game. But I'm still using these threads for P2P communication. I don't know why it is and how to solve it.This is the attached test project file as described above.
Attached File(s) : Test Project.zip (4.11K)
View Replies
View Related
Feb 8, 2015
I am creating a program where it reads the data inside a file and then places this data into arrays. The file I created has numbers 1-30 in it, file named, testing1.txt .
Java Code:
public static void main(String[] args) {
// TODO Auto-generated method stub
// Variables Declaration Section
//******************************
BufferedReader br;
String sCurrentLine;
String str;
[Code] ....
My issue is that the 'str' value is not initialized, but if I initialize it, it ruins the code. I'm not sure what to do in the situation.
View Replies
View Related
Mar 16, 2014
I am taking Python this semester. Our teacher wants us to convert Python to JavaScript without really explaining how or/and expecting us to be familiar with it already.Python Program I have is pretty simple - it prompts you to enter your first and last name and end your DNA string, "CAG" repeats are counted by another function and the result is passed to function that identified weather you may have huntington's decease or not.
<body>
<p>Enter First Name: <input type="text" size="25" id="firstname" value="">
<p>Enter Last Name: <input type="text" size="25" id="lastname" value="">
<p>Enter DNA: <input type="text" size="25" id="DNA" value="" >
<p><button onclick="alertt(f,l,d,c,p)" style="background-color:pink"><b>PRESS TO FIND OUT RESULT</b></button></p>
<script>
[code]...
When I run it there is an issue with countCAG and prediction functions :( I would run each one individually in JS console and I get Undefined, or InvalidString I read that I am supposed to use var in front of each variable, unlike in Python where you just assign variable a value without any add-ons in the front. But JS console seems to recognize both ways of assigning, however var smth=0 immediately evaluates to Undefined, and smth=0, gives me 0...
View Replies
View Related
Jan 21, 2015
I have two programs that talk to each other over a TCP connection. When I write the data "STX+1234" where STX is the Ascii character STX or Ctrl B and I expect the written String length to be 6 which it is. On the other side of the socket I create the ServerSocket and use the client socket's InputStream to create a BufferedReader. When I receive the string it now has 12 characters where each original character has been replaced by NUL and the character. How do I read the string as it is originally specified without the conversion? And is the problem on the reader side or the writer side?
View Replies
View Related
Oct 11, 2014
Ok so I know how to import a csv using java. What I'm curious about doing is importing a csv using file chooser, reading the data, sorting the data out by certain parameters, and then outputting a count of each parameter I chose. Say for example I have columns 1,2 and 3. Column 1 has the name, column 2 has the percentage, column 3 has an o'clock time. I want to use queries to sort through the parameters and have a count of each parameter I choose...
View Replies
View Related
Jun 5, 2014
I can read the data to a monitor perfectly. But, I'm having problem reading data from an external file into an array of class objects. Here's my attempt at writing the method:
private void openFile()
//This method asks the user to enter a file name(including the file extension) and then
//Sets the data to an array of Product type {
String fileName, storeName="", emptyLine1="", emptyLine2="", name="", productName="";
int demandRate=0;
double setupCost=0.0, unitCost=0.0, inventoryCost=0, sellingPrice=0;
Scanner inputStream = null;
[code]...
View Replies
View Related
Jan 20, 2015
A method in Java returns a schema. In .net, we use DataTable to get the data from the schema. How to write the following code in Java:
/* Result r = method();
r.DataSchema; */
using (DataTable tbl = new DataTable())
{
using (MemoryStream ms = new MemoryStream())
using (StreamWriter sr = new StreamWriter(ms))
[code]....
View Replies
View Related
Feb 20, 2015
I am working on a project where as an input I need to read to data from PDF.
The PDF data will look like
As shown below:
Serial NoName of bookQuanity of BooksLibrary NamePrice
1aaa1London
2bb2Newyork
3cc1Paris
Total number of books4
Payment info
The number of books are dynamic in every pdf which I am going to receive.
View Replies
View Related
Aug 9, 2014
i tried to run simple program od adding two number by using scanner class but there is run time error here it is code file and error.
View Replies
View Related
Jan 20, 2015
I am reading Excel data using java apache. I got format issue while reading double value such as 869.87929 (in excel) into 869.8792899999999 (in java).
I'm using following files to read excel data.
1. Schema.csv: SheetName,2-int-Double
2. File.xls:
col1 | col2
123 | 869.87929
Sample code:
if(type.equals("Double")){
String str = content[i-1];
//System.out.println(str);
BigDecimal d = new BigDecimal(str);
listObjects.add(d);
}
Note: type from schema.csv & content [] value from file.xls
If I print **str**, it shows value as 869.8792899999999.
But i need to get **str** value as 869.87929. How can I get it?
View Replies
View Related
Aug 11, 2014
I'm new to json and the web. My purpose is to use json data from a server and parse it and show meaningful data to the user. I am aware of json parsing, so no sweat there. However, I would like to know how json data is sent to the front end after which it can be parsed.
Usually in my json parsing examples, I have a variable like var data = ]OR I do a getJSON on a data.json file which I have stored in the project folder. However, I want this data to come real time from a servlet. How to go about this?
So, basically my question is, how do I send real time json data from a servlet backend, say some records which I have extracted from the database using jdbc?
View Replies
View Related
Oct 12, 2014
I have to read data from a text file and print it in a new text file. An example of one line is like this:
Johnson 85 98 75 89 82
I then have to take the average of all the numbers and assign a "grade" to the numbers for each line of the text file and make a new file so it looks like this for 10 lines:
Name 1 2 3 4 5 Average Grade
Johnson 85 98 75 89 82 85.80 B
My problem is extracting the data from the file so I can use it.
View Replies
View Related
Nov 16, 2014
I'm a complete beginner in Java programming and I'm interested to learn more about its concepts.
Recently, I've been given an exercise which instructs me to display two versions of a picture. The picture to be displayed is provided in the form of a data file of 40,000 digits that are arranged in rows (although there is no marker between rows) and it starts from the top of the picture. So the first digit represents the top left corner of the picture and the last is the bottom right.
Basically, what the exercise wants me to construct a program that plots a dot in one of two colours for each digit. If the digit is in the range 0 to 3 the output should be one colour and for digits in the range 4 to 9 the dot should be in the other colour.
I understand I have to use arrays and also loops to perform this. I'm familiar with the fillEllipse, drawEllipse, drawRectangle and fillRectangle but this exercise is nothing I've attempted before.
View Replies
View Related
Feb 8, 2014
We have an autosys job running in our production on daily basis. It calls a shell script which in turn calls a java servlet. This servlet reads these files and inserts the data into two different tables and then does some processing. Java version is 1.6 & application server is WAS7 and database is oracel-11g.
We get several issues with this process like it takes time, goes out of memory etc etc. Below are the details of the way we have coded this process.
1. When we read the file using BufferedReader, do we really get a lot of strings created in the memory as returned by readLine() method of BufferedReader? These files contain 4-5Lacs of line. All the records are separated by newline character. Is there a better way to read files in java to achieve efficiency? I couldnt find any provided the fact that all the record lines in the file are of variable length.
2. When we insert the data then we are doing a batch process with statement/prepared statement. We are making one batch containing all the records of the file. Does it really matter to break the batch size to have better performance?
3. If the tables has no indexes defined nor any other constraints and all the columns are VARCHAR type, then which operation will be faster:- inserting a new row or updating an existing row based upon some matching condition?
View Replies
View Related
Oct 11, 2014
I'm having a bit of trouble with using the Scanner and the Printwriter. I start with a file like this (1 = amount of Houses in the file)
1
FOR SALE:
Emmalaan 23
3051JC Rotterdam
7 rooms
buyprice 300000
energylevel C
The user gets (let's say for simplicity) 3 options:
1. Add a House to the file,
2. Get all Houses which fullfil requirements (price, FOR SALE / SOLD etc.) and
3. Close the application.
This is how I start:
Scanner sc = new Scanner (System.in);
while (!endLoop) {
System.out.println("Make a choice);
System.out.println("1) Add House");
System.out.println("2) Show Houses");
System.out.println("3) Exit");
int choice = sc.nextInt();
Then I have a switch for all of the three cases. I keep the scanner open, so Java can get the user input (house = for sale or sold, price = ... etc). If the user chose option 1, and all information needed is inputted and scanned, the House will be written to the file (which looks like what I typed above).
For this, I use try (PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("Makelaar.txt", false)))). This works perfectly (at least so it seems.)
If the user chose option 1, and all requirements are inputted and scanned, the Houses will be read (scanner) from the file and outputted. For this I use the same Scanner sc. This also works perfectly (so it seems atleast).
My problem is as follows: If a House has been added, I can only read the House(s) which were already in the file. Let's say I have added 2 houses, and there were from the start 3 houses. If option 2 is chosen, the first 3 houses will be scanned perfectly. An exception will be caught for the remaining 2 (just added) Houses. How can I solve this? I tried to close the Scanner, and reopening it, but apparently Java doesn't agree with this
View Replies
View Related
Dec 9, 2014
I am catching an error in my driver class that reads from a file and sorts the data based on a person's GPA. Here is my code:
import java.io.*;
import java.util.*;
public class Driver {
public static void main(String[] args) {
new Driver(args[0]);
[Code] ....
Why throwing this exception?
View Replies
View Related
May 4, 2015
How can I Cache the data I'm reading from a collection of text files in a directory using a TreeMap? Currently my program reads the data from several text files in a directory and the saves that information in a text file called output.txt. I would like to cache this data in order to use it later. How can I do this using the TreeMap Class? These are the keys,values: TreeMap The data I'd like to Cache is (date from the file, time of the file, current time).
import java.io.*;
public class CacheData {
public static void main(String[] args) throws IOException {
String target_dir = "C:Files";
String output = "C:Filesoutput.txt";
File dir = new File(target_dir);
File[] files = dir.listFiles();
[Code] ....
View Replies
View Related
Oct 31, 2014
Our company has a web based project which using the Jboss EAP 6.1 +EJB 3.1 + JSF2 and deployed it in a cluster environment(Server A,Server B and Server C).We have created some schedule tasks by using EJB timer service and the timer data file is stored in a central file system.And users can login and access to a task configuration page to customise his own tasks by create,update,delete actions etc.But we find that the timers don't work correctly in the cluster environment.
For example.When we start the Servers(A,B,C),each server will load the timer file data into his own node cache from the central file system.But when one user go to the task configuration page to update or delete his own tasks from one of the Servers, it only update the change on its own node cache and don't replicate the timer data to other nodes' cache and which cause the problem.
I know there is one way to fix it is that we could shutdown the three Servers and re-boot them and the timer data file will be re-loaded into each server's cache. But we can't do that because the users want their own created/updated tasks take effect immediately once they change them.My question is that when the timer data in cache is updated on one server, how to make it synchronize to the other Servers'.
View Replies
View Related
Jul 17, 2014
I am currently working on a module where huge amount of data needs to be sent to the weblogic server. The limit on Weblogic-> Server - > Protocols is 10MB.
The huge data is coming when i try to add more than 20 rows to the Ajax request.
There are possible two solutions for this
1) Increase the limit on Weblogic server to 1Gb which might lead to server crash when two or more users are trying to add 100 records at the same time.
2) Send memory in the form of chunks of (length of a row) every time I add a row. Store this in session and upon form submission retrieve from session. This cannot work if there are more than 20 users doing load testing as increase in session data decrease performance gradually.
I need that data passed to my server without any performance or errors.Currently its showing weblogic.socket.MaxMesssageSizeExceededException and RequestURI too long errors.
View Replies
View Related
May 8, 2014
How can insert value into sql server column of data type 'datetime' with jdbc the methods in java.sql are 'setdate()' and 'setTime()'
How can I do this. I'm using java.time.LocalDateTime.
View Replies
View Related