Socket: send() function returned 'Broken Pipe&

2019-07-14 00:42发布

问题:

I am new to socket programming, I am trying to send some packets to server using the send() function in C++, but I am always getting a 'Broken pipe' error while sending packets to the server. Could you please help me for the below points?

  1. When the send() function returns the "Broken pipe" errors?
  2. What are the causes for "Broken pipe" errors in socket programming?
  3. What will be the solution for "Broken pipe" error from the send() function?

Note: I am using named socket to communicate between client and server.

回答1:

  1. When send() returns the "Broken pipe" errors

When you have written to a connection that has already been closed by the peer.

  1. What are the causes for "Broken pipe" errors in socket programming

Writing to a connection that has already been closed by the peer.

  1. What will be the solution for "Broken pipe" error from send() function.

Don't write to a connection that has already been closed by the peer.

It usually indicates that you have committed a prior application protocol error, so the peer didn't understand you and gave up.