Solved

dockets and readLine()

Posted on 1998-10-15
6
313 Views
Last Modified: 2012-06-21
if DataInputStream.readLine block until char(13) , and i"m using sockets for communiction so if client and server coming both to readline(), then all the proccess stack , right?
for some reasone my comunication between the client and the server get stuck after a few msg dialog ,any other idea ?
how can i solv it ?
10x in advance
asi
0
Comment
Question by:asi
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
6 Comments
 

Author Comment

by:asi
ID: 1225840
does a communication with sockets and stream inforce order between the client and the server (i.e :one sentence server and one client ) ?
0
 

Author Comment

by:asi
ID: 1225841
if the answer to the last comment is yes ? what is the oaltrnative to un order connection ?
0
 
LVL 1

Expert Comment

by:ramsay
ID: 1225842
Can you explain what you are doing a bit more....

I assume you communication protocol is failing..?

If you are writing a clinet/server app both the client and the server must know what data to expect.. (protocol)

For example.. if you send 2 strings to the client (from the server) the client must know how many string to retrieve..

dos.writeInt(how_many)
dos.writeUTF(string1);
dos.writeUTF(string2);
dos.writeUTF(string_n);

client reads how many and expects that many..

dis.readInt(how_many)
for(int i=0;i<how_many;i++)
{

string1 = dis.readUTF();
string1 = dis.readUTF();
string_n = dis.readUTF();

}

I'm not sure what your problem is though.. can u explain it som more..

0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 8

Expert Comment

by:diakov
ID: 1225843
You have to define your custom message system. In the most simple case it should be something like this:

//Control line
Line1 : "DO X, DATA N"
Next N lines contain data

When the server (or the client) receives a control line, it knows what to read afterwards. Also, it is good the communication to be, from the type,
request, response, request, response,....

so, it won't hapen bot the server and the client to wait for a request (or responce) simultaneously, which case they'll both block.

Another solution. Make two channels, outgoing and incomming, preferably in separate threads. this way you will be able to send , while waiting and receive while sending. this is especially valid for the server.

Cheers.
0
 

Author Comment

by:asi
ID: 1225844
diakov
change your statuse to answer
and i'll give u the pointe
(i find some other solution , every time client or server receive somthing he should send immeditli "ping " one direction msg (in case that there is nothing else in the outgoing line
but u desever the points   ...
10x
asi

0
 
LVL 8

Accepted Solution

by:
diakov earned 50 total points
ID: 1225845
sure. you're welcome.

0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
runtime exception 2 50
Eclipse Java import and method not resolved 4 82
DTD and JAVA versions 1 33
Java pass by reference 3 25
Java contains several comparison operators (e.g., <, <=, >, >=, ==, !=) that allow you to compare primitive values. However, these operators cannot be used to compare the contents of objects. Interface Comparable is used to allow objects of a cl…
Java Flight Recorder and Java Mission Control together create a complete tool chain to continuously collect low level and detailed runtime information enabling after-the-fact incident analysis. Java Flight Recorder is a profiling and event collectio…
Viewers learn about the scanner class in this video and are introduced to receiving user input for their programs. Additionally, objects, conditional statements, and loops are used to help reinforce the concepts. Introduce Scanner class: Importing…
This tutorial will introduce the viewer to VisualVM for the Java platform application. This video explains an example program and covers the Overview, Monitor, and Heap Dump tabs.

730 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question