Socket send requires delay for localhost targetWhat is the difference between a port and a socket?unix domain stream sockets sending more data then it should beWhat is a good buffer size for socket programming?Java Socket Delay continuedProgramming Sockets in C, error to send and receive filesTCP Asynchronous socket slow on receiving server?Unable to close server side socketSocket issue c# client to java serverC TCP sockets, can 'send' return 0 after using select?Socket Send And Receive Buffer
How does the Earth's center produce heat?
Possibility of faking someone's public key
What is the difference between LORD and GOD?
How can I prevent holy aura from a human body from radiating too strongly?
Navigating a quick return to previous employer
How to let other coworkers know that I don't share my coworker's political views?
Are runways booked by airlines to land their planes?
How to make parshape work inside a tikz node?
Time complexity of an algorithm: Is it important to state the base of the logarithm?
Is this homebrew "Cactus Grenade" cantrip balanced?
Co-author wants to put their current funding source in the acknowledgements section because they edited the paper
Is "vegetable base" a common term in English?
The disk image is 497GB smaller than the target device
Storing voxels for a voxel Engine in C++
3 prong range outlet
Is superuser the same as root?
A burglar's sunglasses, a lady's odyssey
Why isn't Tyrion mentioned in 'A song of Ice and Fire'?
“For nothing” = “pour rien”?
First Program Tic-Tac-Toe
Why does splatting create a tuple on the rhs but a list on the lhs?
Why does the hash of infinity have the digits of π?
How to capitalise every letter in odd position as in memes?
Gravitational Force Between Numbers
Socket send requires delay for localhost target
What is the difference between a port and a socket?unix domain stream sockets sending more data then it should beWhat is a good buffer size for socket programming?Java Socket Delay continuedProgramming Sockets in C, error to send and receive filesTCP Asynchronous socket slow on receiving server?Unable to close server side socketSocket issue c# client to java serverC TCP sockets, can 'send' return 0 after using select?Socket Send And Receive Buffer
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;
I'm working on a C# server/client project at the moment and have come across a strange problem that took me a while to solve but am not entirely happy with the solution or more precisely why I need it. Essentially I found sending tcp socket messages over 10kbytes to a localhost target required a time delay of 1ms.
As a background, I have a server on a machine that many clients connect into and pass information back and forth which all seems to work fine. I also have clients that are local to the server that also connect in. The issue I faced was that when message sizes went over around ~10kbytes in size the messages would not go through. I only just noticed this because most messages sent were around 1-2kbytes in size, but the client connected on the same machine as the server (localhost) is more of a management client and thus sends/receives more data.
The real problem was the the server (sender) was returning true / success from the C# send commands that data was being sent, however, the receiver indicated only the first chunk (if I buffered) would come through or nothing at all. So I ended up putting wireshark on and saw that even though the send calls completed successfully, no data would actually be sent over the wire (remembering this is on the local loopback interface).
I tried playing with how I am sending data and trying all the different calls (NetworkStream.Write / NetworkStream.WriteAsync / Socket.Send / Socket.SendAsync / Socket.BeginSend) along with buffering the data or sending it all in one hit. Nothing seemed to make a difference until I put a time delay between the send calls in my loop then everything work perfectly (I tested up to a 1.5GB stream of data with no issue).
I also found a delay of anything under 1ms / 10,000 ticks would again cause issues, I would get through so many of the send calls to work then they would just stop again. Setting the TcpClient.NoDelay to true also did not seem to have much impact.
Below is a cut from my sending code as an example with the different send commands I have tried that all have the exact same behavior.
// _client is an abstracted/based off a TcpClient object (the target)
byte[] dataBytes = Serializer.SerializeMessage(message);
int bytesSent = 0;
while (bytesSent < dataBytes.Length)
int bytesToSend = ((dataBytes.Length - bytesSent) < 8192) ? (dataBytes.Length - bytesSent) : 8192;
//_client.Socket.Send(dataBytes, bytesSent, bytesToSend, SocketFlags.Partial);
//_client.NetworkStream.Write(dataBytes, bytesSent, bytesToSend);
//_client.Socket.BeginSend(dataBytes, bytesSent,bytesToSend,SocketFlags.None, ar => int bytes = ((Socket)ar.AsyncState).EndSend(ar);, _client.Socket);
_ = _client.NetworkStream.WriteAsync(dataBytes, bytesSent, bytesToSend);
bytesSent += bytesToSend;
Thread.Sleep(TimeSpan.FromTicks(10000));
So while this works fine now, my question is why is it even needed, from previous experience I always find if you need to "delay" there is something else that is wrong. Also, without the delay, nothing errors out, all the calls report they successfully sent the bytes but wireshark shows no data being transmitted. My only thought would be something in the library detecting it is a local target and using some internal named piped abstracted from me and a buffer fills up somewhere?
I have tried searching for any issue like this for over a week and could not find anything obvious so any insight would be greatly appreciated.
c# sockets asynchronous networkstream
add a comment |
I'm working on a C# server/client project at the moment and have come across a strange problem that took me a while to solve but am not entirely happy with the solution or more precisely why I need it. Essentially I found sending tcp socket messages over 10kbytes to a localhost target required a time delay of 1ms.
As a background, I have a server on a machine that many clients connect into and pass information back and forth which all seems to work fine. I also have clients that are local to the server that also connect in. The issue I faced was that when message sizes went over around ~10kbytes in size the messages would not go through. I only just noticed this because most messages sent were around 1-2kbytes in size, but the client connected on the same machine as the server (localhost) is more of a management client and thus sends/receives more data.
The real problem was the the server (sender) was returning true / success from the C# send commands that data was being sent, however, the receiver indicated only the first chunk (if I buffered) would come through or nothing at all. So I ended up putting wireshark on and saw that even though the send calls completed successfully, no data would actually be sent over the wire (remembering this is on the local loopback interface).
I tried playing with how I am sending data and trying all the different calls (NetworkStream.Write / NetworkStream.WriteAsync / Socket.Send / Socket.SendAsync / Socket.BeginSend) along with buffering the data or sending it all in one hit. Nothing seemed to make a difference until I put a time delay between the send calls in my loop then everything work perfectly (I tested up to a 1.5GB stream of data with no issue).
I also found a delay of anything under 1ms / 10,000 ticks would again cause issues, I would get through so many of the send calls to work then they would just stop again. Setting the TcpClient.NoDelay to true also did not seem to have much impact.
Below is a cut from my sending code as an example with the different send commands I have tried that all have the exact same behavior.
// _client is an abstracted/based off a TcpClient object (the target)
byte[] dataBytes = Serializer.SerializeMessage(message);
int bytesSent = 0;
while (bytesSent < dataBytes.Length)
int bytesToSend = ((dataBytes.Length - bytesSent) < 8192) ? (dataBytes.Length - bytesSent) : 8192;
//_client.Socket.Send(dataBytes, bytesSent, bytesToSend, SocketFlags.Partial);
//_client.NetworkStream.Write(dataBytes, bytesSent, bytesToSend);
//_client.Socket.BeginSend(dataBytes, bytesSent,bytesToSend,SocketFlags.None, ar => int bytes = ((Socket)ar.AsyncState).EndSend(ar);, _client.Socket);
_ = _client.NetworkStream.WriteAsync(dataBytes, bytesSent, bytesToSend);
bytesSent += bytesToSend;
Thread.Sleep(TimeSpan.FromTicks(10000));
So while this works fine now, my question is why is it even needed, from previous experience I always find if you need to "delay" there is something else that is wrong. Also, without the delay, nothing errors out, all the calls report they successfully sent the bytes but wireshark shows no data being transmitted. My only thought would be something in the library detecting it is a local target and using some internal named piped abstracted from me and a buffer fills up somewhere?
I have tried searching for any issue like this for over a week and could not find anything obvious so any insight would be greatly appreciated.
c# sockets asynchronous networkstream
add a comment |
I'm working on a C# server/client project at the moment and have come across a strange problem that took me a while to solve but am not entirely happy with the solution or more precisely why I need it. Essentially I found sending tcp socket messages over 10kbytes to a localhost target required a time delay of 1ms.
As a background, I have a server on a machine that many clients connect into and pass information back and forth which all seems to work fine. I also have clients that are local to the server that also connect in. The issue I faced was that when message sizes went over around ~10kbytes in size the messages would not go through. I only just noticed this because most messages sent were around 1-2kbytes in size, but the client connected on the same machine as the server (localhost) is more of a management client and thus sends/receives more data.
The real problem was the the server (sender) was returning true / success from the C# send commands that data was being sent, however, the receiver indicated only the first chunk (if I buffered) would come through or nothing at all. So I ended up putting wireshark on and saw that even though the send calls completed successfully, no data would actually be sent over the wire (remembering this is on the local loopback interface).
I tried playing with how I am sending data and trying all the different calls (NetworkStream.Write / NetworkStream.WriteAsync / Socket.Send / Socket.SendAsync / Socket.BeginSend) along with buffering the data or sending it all in one hit. Nothing seemed to make a difference until I put a time delay between the send calls in my loop then everything work perfectly (I tested up to a 1.5GB stream of data with no issue).
I also found a delay of anything under 1ms / 10,000 ticks would again cause issues, I would get through so many of the send calls to work then they would just stop again. Setting the TcpClient.NoDelay to true also did not seem to have much impact.
Below is a cut from my sending code as an example with the different send commands I have tried that all have the exact same behavior.
// _client is an abstracted/based off a TcpClient object (the target)
byte[] dataBytes = Serializer.SerializeMessage(message);
int bytesSent = 0;
while (bytesSent < dataBytes.Length)
int bytesToSend = ((dataBytes.Length - bytesSent) < 8192) ? (dataBytes.Length - bytesSent) : 8192;
//_client.Socket.Send(dataBytes, bytesSent, bytesToSend, SocketFlags.Partial);
//_client.NetworkStream.Write(dataBytes, bytesSent, bytesToSend);
//_client.Socket.BeginSend(dataBytes, bytesSent,bytesToSend,SocketFlags.None, ar => int bytes = ((Socket)ar.AsyncState).EndSend(ar);, _client.Socket);
_ = _client.NetworkStream.WriteAsync(dataBytes, bytesSent, bytesToSend);
bytesSent += bytesToSend;
Thread.Sleep(TimeSpan.FromTicks(10000));
So while this works fine now, my question is why is it even needed, from previous experience I always find if you need to "delay" there is something else that is wrong. Also, without the delay, nothing errors out, all the calls report they successfully sent the bytes but wireshark shows no data being transmitted. My only thought would be something in the library detecting it is a local target and using some internal named piped abstracted from me and a buffer fills up somewhere?
I have tried searching for any issue like this for over a week and could not find anything obvious so any insight would be greatly appreciated.
c# sockets asynchronous networkstream
I'm working on a C# server/client project at the moment and have come across a strange problem that took me a while to solve but am not entirely happy with the solution or more precisely why I need it. Essentially I found sending tcp socket messages over 10kbytes to a localhost target required a time delay of 1ms.
As a background, I have a server on a machine that many clients connect into and pass information back and forth which all seems to work fine. I also have clients that are local to the server that also connect in. The issue I faced was that when message sizes went over around ~10kbytes in size the messages would not go through. I only just noticed this because most messages sent were around 1-2kbytes in size, but the client connected on the same machine as the server (localhost) is more of a management client and thus sends/receives more data.
The real problem was the the server (sender) was returning true / success from the C# send commands that data was being sent, however, the receiver indicated only the first chunk (if I buffered) would come through or nothing at all. So I ended up putting wireshark on and saw that even though the send calls completed successfully, no data would actually be sent over the wire (remembering this is on the local loopback interface).
I tried playing with how I am sending data and trying all the different calls (NetworkStream.Write / NetworkStream.WriteAsync / Socket.Send / Socket.SendAsync / Socket.BeginSend) along with buffering the data or sending it all in one hit. Nothing seemed to make a difference until I put a time delay between the send calls in my loop then everything work perfectly (I tested up to a 1.5GB stream of data with no issue).
I also found a delay of anything under 1ms / 10,000 ticks would again cause issues, I would get through so many of the send calls to work then they would just stop again. Setting the TcpClient.NoDelay to true also did not seem to have much impact.
Below is a cut from my sending code as an example with the different send commands I have tried that all have the exact same behavior.
// _client is an abstracted/based off a TcpClient object (the target)
byte[] dataBytes = Serializer.SerializeMessage(message);
int bytesSent = 0;
while (bytesSent < dataBytes.Length)
int bytesToSend = ((dataBytes.Length - bytesSent) < 8192) ? (dataBytes.Length - bytesSent) : 8192;
//_client.Socket.Send(dataBytes, bytesSent, bytesToSend, SocketFlags.Partial);
//_client.NetworkStream.Write(dataBytes, bytesSent, bytesToSend);
//_client.Socket.BeginSend(dataBytes, bytesSent,bytesToSend,SocketFlags.None, ar => int bytes = ((Socket)ar.AsyncState).EndSend(ar);, _client.Socket);
_ = _client.NetworkStream.WriteAsync(dataBytes, bytesSent, bytesToSend);
bytesSent += bytesToSend;
Thread.Sleep(TimeSpan.FromTicks(10000));
So while this works fine now, my question is why is it even needed, from previous experience I always find if you need to "delay" there is something else that is wrong. Also, without the delay, nothing errors out, all the calls report they successfully sent the bytes but wireshark shows no data being transmitted. My only thought would be something in the library detecting it is a local target and using some internal named piped abstracted from me and a buffer fills up somewhere?
I have tried searching for any issue like this for over a week and could not find anything obvious so any insight would be greatly appreciated.
c# sockets asynchronous networkstream
c# sockets asynchronous networkstream
asked Mar 23 at 23:15
NathanNathan
456
456
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
from previous experience I always find if you need to "delay" there is something else that is wrong.
Righto. Here I suspect you're assuming that a Read on the socket will return a complete message.
But TCP/IP is a streaming protocol, and doesn't include any notion of Messages. To successfully use TCP/IP directly, you must define a "message framing protocol", to communicate to the remote host how many bytes to expect. I don't see you writing anything before the message, so I suspect that's what's missing.
The simple solution that many people use is to always send a 4-byte integer at the beginning of a message indicating the number of bytes that will be sent. Then the reader can perform a 4-byte read, followed by a read loop until the expected number of bytes are read.
So the issue does not seem to have anything to do with the reading/receiving end as the send calls simply do not send anything over the wire according to wireshark. But just to confirm mySerializer.SerializeMessage(message)method actually serialises my message object into a bit stream that has header including an ID and payload length bytes at the front. Stress testing with 1000 connected clients sending messages simultaneously works fine.
– Nathan
Mar 24 at 5:58
Can you produce a minimal repro? I’m not dure WireShark can see localhost traffic, as it never hits the network adapter.
– David Browne - Microsoft
Mar 24 at 14:35
add a comment |
So the issue turned out to be a problem with something on the computer itself (or rather on a number of our dev boxes) that affected any service being hosted/connected on a localhost binding. This included a number of network services including even IISExpress and IIS proper if the hosting was local. This resulting in any data over ~10kbytes in size never being sent/received.
After days of trying to work out what was affecting localhost connections we ended up rebuilding our dev boxes and the problem is now gone (albeit we still don't know why/what caused the issue).
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
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: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
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%2fstackoverflow.com%2fquestions%2f55319247%2fsocket-send-requires-delay-for-localhost-target%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
from previous experience I always find if you need to "delay" there is something else that is wrong.
Righto. Here I suspect you're assuming that a Read on the socket will return a complete message.
But TCP/IP is a streaming protocol, and doesn't include any notion of Messages. To successfully use TCP/IP directly, you must define a "message framing protocol", to communicate to the remote host how many bytes to expect. I don't see you writing anything before the message, so I suspect that's what's missing.
The simple solution that many people use is to always send a 4-byte integer at the beginning of a message indicating the number of bytes that will be sent. Then the reader can perform a 4-byte read, followed by a read loop until the expected number of bytes are read.
So the issue does not seem to have anything to do with the reading/receiving end as the send calls simply do not send anything over the wire according to wireshark. But just to confirm mySerializer.SerializeMessage(message)method actually serialises my message object into a bit stream that has header including an ID and payload length bytes at the front. Stress testing with 1000 connected clients sending messages simultaneously works fine.
– Nathan
Mar 24 at 5:58
Can you produce a minimal repro? I’m not dure WireShark can see localhost traffic, as it never hits the network adapter.
– David Browne - Microsoft
Mar 24 at 14:35
add a comment |
from previous experience I always find if you need to "delay" there is something else that is wrong.
Righto. Here I suspect you're assuming that a Read on the socket will return a complete message.
But TCP/IP is a streaming protocol, and doesn't include any notion of Messages. To successfully use TCP/IP directly, you must define a "message framing protocol", to communicate to the remote host how many bytes to expect. I don't see you writing anything before the message, so I suspect that's what's missing.
The simple solution that many people use is to always send a 4-byte integer at the beginning of a message indicating the number of bytes that will be sent. Then the reader can perform a 4-byte read, followed by a read loop until the expected number of bytes are read.
So the issue does not seem to have anything to do with the reading/receiving end as the send calls simply do not send anything over the wire according to wireshark. But just to confirm mySerializer.SerializeMessage(message)method actually serialises my message object into a bit stream that has header including an ID and payload length bytes at the front. Stress testing with 1000 connected clients sending messages simultaneously works fine.
– Nathan
Mar 24 at 5:58
Can you produce a minimal repro? I’m not dure WireShark can see localhost traffic, as it never hits the network adapter.
– David Browne - Microsoft
Mar 24 at 14:35
add a comment |
from previous experience I always find if you need to "delay" there is something else that is wrong.
Righto. Here I suspect you're assuming that a Read on the socket will return a complete message.
But TCP/IP is a streaming protocol, and doesn't include any notion of Messages. To successfully use TCP/IP directly, you must define a "message framing protocol", to communicate to the remote host how many bytes to expect. I don't see you writing anything before the message, so I suspect that's what's missing.
The simple solution that many people use is to always send a 4-byte integer at the beginning of a message indicating the number of bytes that will be sent. Then the reader can perform a 4-byte read, followed by a read loop until the expected number of bytes are read.
from previous experience I always find if you need to "delay" there is something else that is wrong.
Righto. Here I suspect you're assuming that a Read on the socket will return a complete message.
But TCP/IP is a streaming protocol, and doesn't include any notion of Messages. To successfully use TCP/IP directly, you must define a "message framing protocol", to communicate to the remote host how many bytes to expect. I don't see you writing anything before the message, so I suspect that's what's missing.
The simple solution that many people use is to always send a 4-byte integer at the beginning of a message indicating the number of bytes that will be sent. Then the reader can perform a 4-byte read, followed by a read loop until the expected number of bytes are read.
answered Mar 23 at 23:35
David Browne - MicrosoftDavid Browne - Microsoft
18.9k2927
18.9k2927
So the issue does not seem to have anything to do with the reading/receiving end as the send calls simply do not send anything over the wire according to wireshark. But just to confirm mySerializer.SerializeMessage(message)method actually serialises my message object into a bit stream that has header including an ID and payload length bytes at the front. Stress testing with 1000 connected clients sending messages simultaneously works fine.
– Nathan
Mar 24 at 5:58
Can you produce a minimal repro? I’m not dure WireShark can see localhost traffic, as it never hits the network adapter.
– David Browne - Microsoft
Mar 24 at 14:35
add a comment |
So the issue does not seem to have anything to do with the reading/receiving end as the send calls simply do not send anything over the wire according to wireshark. But just to confirm mySerializer.SerializeMessage(message)method actually serialises my message object into a bit stream that has header including an ID and payload length bytes at the front. Stress testing with 1000 connected clients sending messages simultaneously works fine.
– Nathan
Mar 24 at 5:58
Can you produce a minimal repro? I’m not dure WireShark can see localhost traffic, as it never hits the network adapter.
– David Browne - Microsoft
Mar 24 at 14:35
So the issue does not seem to have anything to do with the reading/receiving end as the send calls simply do not send anything over the wire according to wireshark. But just to confirm my
Serializer.SerializeMessage(message) method actually serialises my message object into a bit stream that has header including an ID and payload length bytes at the front. Stress testing with 1000 connected clients sending messages simultaneously works fine.– Nathan
Mar 24 at 5:58
So the issue does not seem to have anything to do with the reading/receiving end as the send calls simply do not send anything over the wire according to wireshark. But just to confirm my
Serializer.SerializeMessage(message) method actually serialises my message object into a bit stream that has header including an ID and payload length bytes at the front. Stress testing with 1000 connected clients sending messages simultaneously works fine.– Nathan
Mar 24 at 5:58
Can you produce a minimal repro? I’m not dure WireShark can see localhost traffic, as it never hits the network adapter.
– David Browne - Microsoft
Mar 24 at 14:35
Can you produce a minimal repro? I’m not dure WireShark can see localhost traffic, as it never hits the network adapter.
– David Browne - Microsoft
Mar 24 at 14:35
add a comment |
So the issue turned out to be a problem with something on the computer itself (or rather on a number of our dev boxes) that affected any service being hosted/connected on a localhost binding. This included a number of network services including even IISExpress and IIS proper if the hosting was local. This resulting in any data over ~10kbytes in size never being sent/received.
After days of trying to work out what was affecting localhost connections we ended up rebuilding our dev boxes and the problem is now gone (albeit we still don't know why/what caused the issue).
add a comment |
So the issue turned out to be a problem with something on the computer itself (or rather on a number of our dev boxes) that affected any service being hosted/connected on a localhost binding. This included a number of network services including even IISExpress and IIS proper if the hosting was local. This resulting in any data over ~10kbytes in size never being sent/received.
After days of trying to work out what was affecting localhost connections we ended up rebuilding our dev boxes and the problem is now gone (albeit we still don't know why/what caused the issue).
add a comment |
So the issue turned out to be a problem with something on the computer itself (or rather on a number of our dev boxes) that affected any service being hosted/connected on a localhost binding. This included a number of network services including even IISExpress and IIS proper if the hosting was local. This resulting in any data over ~10kbytes in size never being sent/received.
After days of trying to work out what was affecting localhost connections we ended up rebuilding our dev boxes and the problem is now gone (albeit we still don't know why/what caused the issue).
So the issue turned out to be a problem with something on the computer itself (or rather on a number of our dev boxes) that affected any service being hosted/connected on a localhost binding. This included a number of network services including even IISExpress and IIS proper if the hosting was local. This resulting in any data over ~10kbytes in size never being sent/received.
After days of trying to work out what was affecting localhost connections we ended up rebuilding our dev boxes and the problem is now gone (albeit we still don't know why/what caused the issue).
answered Mar 30 at 8:44
NathanNathan
456
456
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- 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%2fstackoverflow.com%2fquestions%2f55319247%2fsocket-send-requires-delay-for-localhost-target%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