writing data out to already opened port
I have a setup in which one unix program (s51 from a microcontroller simulation package) is a server tied to a specific port. Let's call the port 111.
I also have setup a client on the same computer to receive hexadecimal characters as output from the server as follows:
nc 127.0.0.1 111 | od -tx1 -w16
Now I want to be able to send data back out to the same port without disconnecting anything else from the port.
I tried:
echo "data" | nc 127.0.0.1 111
and that command just stalls and nothing is sent to the server.
Unfortunately the only IP based option I have with the server is to specify the port number. The IP format is fixed to TCP/IP by the server.
How do I go about reusing the same port and sending data back to the server all in unix without breaking the connection?
So far the closest answer I have to my problem is to get a second computer, Run realterm on it for windows and have it connect to the main computer running the simulator in linux over TCP/IP.
I tried Wine, but realterm inside wine freezes too often.
I tried Telnet but the best it can do with displaying hex is everything down one column, but I'm wanting 30 columns of hex data.
What can I do to solve my problem all in a unix environment without wasting power of a second computer and without having to upgrade any system?
terminal netcat telnet port tcp-ip
add a comment |
I have a setup in which one unix program (s51 from a microcontroller simulation package) is a server tied to a specific port. Let's call the port 111.
I also have setup a client on the same computer to receive hexadecimal characters as output from the server as follows:
nc 127.0.0.1 111 | od -tx1 -w16
Now I want to be able to send data back out to the same port without disconnecting anything else from the port.
I tried:
echo "data" | nc 127.0.0.1 111
and that command just stalls and nothing is sent to the server.
Unfortunately the only IP based option I have with the server is to specify the port number. The IP format is fixed to TCP/IP by the server.
How do I go about reusing the same port and sending data back to the server all in unix without breaking the connection?
So far the closest answer I have to my problem is to get a second computer, Run realterm on it for windows and have it connect to the main computer running the simulator in linux over TCP/IP.
I tried Wine, but realterm inside wine freezes too often.
I tried Telnet but the best it can do with displaying hex is everything down one column, but I'm wanting 30 columns of hex data.
What can I do to solve my problem all in a unix environment without wasting power of a second computer and without having to upgrade any system?
terminal netcat telnet port tcp-ip
You can type straight into the existingnc
and it will send those characters on the network connection. If you want to type in hex and have that translated to binary for transmission (as asked in stackoverflow.com/questions/55073784/… ) then you can pipe your input intonc
throughxxd -r -p
, per my answer to that question.
– ottomeister
3 hours ago
add a comment |
I have a setup in which one unix program (s51 from a microcontroller simulation package) is a server tied to a specific port. Let's call the port 111.
I also have setup a client on the same computer to receive hexadecimal characters as output from the server as follows:
nc 127.0.0.1 111 | od -tx1 -w16
Now I want to be able to send data back out to the same port without disconnecting anything else from the port.
I tried:
echo "data" | nc 127.0.0.1 111
and that command just stalls and nothing is sent to the server.
Unfortunately the only IP based option I have with the server is to specify the port number. The IP format is fixed to TCP/IP by the server.
How do I go about reusing the same port and sending data back to the server all in unix without breaking the connection?
So far the closest answer I have to my problem is to get a second computer, Run realterm on it for windows and have it connect to the main computer running the simulator in linux over TCP/IP.
I tried Wine, but realterm inside wine freezes too often.
I tried Telnet but the best it can do with displaying hex is everything down one column, but I'm wanting 30 columns of hex data.
What can I do to solve my problem all in a unix environment without wasting power of a second computer and without having to upgrade any system?
terminal netcat telnet port tcp-ip
I have a setup in which one unix program (s51 from a microcontroller simulation package) is a server tied to a specific port. Let's call the port 111.
I also have setup a client on the same computer to receive hexadecimal characters as output from the server as follows:
nc 127.0.0.1 111 | od -tx1 -w16
Now I want to be able to send data back out to the same port without disconnecting anything else from the port.
I tried:
echo "data" | nc 127.0.0.1 111
and that command just stalls and nothing is sent to the server.
Unfortunately the only IP based option I have with the server is to specify the port number. The IP format is fixed to TCP/IP by the server.
How do I go about reusing the same port and sending data back to the server all in unix without breaking the connection?
So far the closest answer I have to my problem is to get a second computer, Run realterm on it for windows and have it connect to the main computer running the simulator in linux over TCP/IP.
I tried Wine, but realterm inside wine freezes too often.
I tried Telnet but the best it can do with displaying hex is everything down one column, but I'm wanting 30 columns of hex data.
What can I do to solve my problem all in a unix environment without wasting power of a second computer and without having to upgrade any system?
terminal netcat telnet port tcp-ip
terminal netcat telnet port tcp-ip
asked 6 hours ago
MikeMike
1163
1163
You can type straight into the existingnc
and it will send those characters on the network connection. If you want to type in hex and have that translated to binary for transmission (as asked in stackoverflow.com/questions/55073784/… ) then you can pipe your input intonc
throughxxd -r -p
, per my answer to that question.
– ottomeister
3 hours ago
add a comment |
You can type straight into the existingnc
and it will send those characters on the network connection. If you want to type in hex and have that translated to binary for transmission (as asked in stackoverflow.com/questions/55073784/… ) then you can pipe your input intonc
throughxxd -r -p
, per my answer to that question.
– ottomeister
3 hours ago
You can type straight into the existing
nc
and it will send those characters on the network connection. If you want to type in hex and have that translated to binary for transmission (as asked in stackoverflow.com/questions/55073784/… ) then you can pipe your input into nc
through xxd -r -p
, per my answer to that question.– ottomeister
3 hours ago
You can type straight into the existing
nc
and it will send those characters on the network connection. If you want to type in hex and have that translated to binary for transmission (as asked in stackoverflow.com/questions/55073784/… ) then you can pipe your input into nc
through xxd -r -p
, per my answer to that question.– ottomeister
3 hours ago
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "106"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f505402%2fwriting-data-out-to-already-opened-port%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f505402%2fwriting-data-out-to-already-opened-port%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
You can type straight into the existing
nc
and it will send those characters on the network connection. If you want to type in hex and have that translated to binary for transmission (as asked in stackoverflow.com/questions/55073784/… ) then you can pipe your input intonc
throughxxd -r -p
, per my answer to that question.– ottomeister
3 hours ago