LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Networking (http://www.linuxquestions.org/questions/linux-networking-3/)
-   -   Writing to and reading from a socket from bash script. (http://www.linuxquestions.org/questions/linux-networking-3/writing-to-and-reading-from-a-socket-from-bash-script-794807/)

vouser 03-11-2010 04:38 PM

Writing to and reading from a socket from bash script.
 
Hello all.
Here the description of the issue I am having.
I am writing a bash test script which reads lines from a file, builds ISO messages, sends them to a server, reads the response with response code and reports the result of the test to a file or on the screen.

The message that I need to send is 94 characters long.
Here's the portion of a code that I initially wrote:

###############################################

#~ Open socket.
exec 3<>/dev/tcp/172.26.0.25/9991

#~ Send msg.
echo "$msg_out" >&3 # OK but adds EOL character which confuses the server.


#~ Receive msg.
read -r msg_in <&3
echo "msg_in: $msg_in"

###############################################

It works OK with the "echoserver".
However, it does not on a real server.
The symptom is that the program is blocked on "read" statement.
One of the facts that is confirmed by server people is that the message received by a server is actually 95 bytes long.

So, based on this information I have 2 questions:

1. Is there any other way to do what I do in line "echo "$msg_out" >&3" to avoid End Of Line character?
2. Am I using the correct way to read from socket? "read -r msg_in <&3".

Thanks for your help,
vouser.

catkin 03-11-2010 08:37 PM

Duplicate thread reported and taken of zero reply list.

jschiwal 03-12-2010 10:07 PM

Please post your thread in only one forum. Posting a single thread in the most relevant forum will make it easier for members to help you and will keep the discussion in one place. This thread is being closed because it is a duplicate and the question fits best in the Programming forum where you posted your first question.


All times are GMT -5. The time now is 07:39 AM.