Skip to content

multiconn-client.py sometimes concatenates messages #229

Description

@pstansell

@dbader, thanks very much for your example code.

Description of the bug

Running the multi-connection example from the python-sockets-tutorial, ie,

  • materials/python-sockets-tutorial/multiconn-client.py

sometimes, but not always, concatenates the two messages.

To Reproduce

Start the server and view the output from when the client is run (see below)

python -u multiconn-server.py 127.0.0.1 65432

  listening on ('127.0.0.1', 65432)

  accepted connection from ('127.0.0.1', 50484)
  echoing b'Message 1 from client.' to ('127.0.0.1', 50484)
  echoing b'Message 2 from client.' to ('127.0.0.1', 50484)
  closing connection to ('127.0.0.1', 50484)

  accepted connection from ('127.0.0.1', 50486)
  echoing b'Message 1 from client.Message 2 from client.' to ('127.0.0.1', 50486)
  closing connection to ('127.0.0.1', 50486)

Run the client twice with 1 connection (see below). The first run gives expected results, the second run concatenates the two messages (as can be seen below). The concatenation is also evident in the output from multiconn-server.py above.

python -u multiconn-client.py 127.0.0.1 65432 1

  starting connection 1 to ('127.0.0.1', 65432)
  sending b'Message 1 from client.' to connection 1
  sending b'Message 2 from client.' to connection 1
  received b'Message 1 from client.' from connection 1
  received b'Message 2 from client.' from connection 1
  closing connection 1

python -u multiconn-client.py 127.0.0.1 65432 1

  starting connection 1 to ('127.0.0.1', 65432)
  sending b'Message 1 from client.' to connection 1
  sending b'Message 2 from client.' to connection 1
  received b'Message 1 from client.Message 2 from client.' from connection 1
  closing connection 1

Expected behavior

The output form the second run of the multiconn-client.py should be identical to the output from the first run.

Desktop (please complete the following information):

  • OS: CentOS 7
  • Browser: Firefox
  • Version 91.2.0esr (64-bit)

Additional context
Python 3.8.0

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions