Если ваш получатель ожидает строк , ваш отправитель должен отправить строк .Ваш отправитель не отправляет линии, поэтому получатель ждет его до тех пор, пока не получит его.
Чтобы избежать подобных проблем в будущем, вы всегда должны составлять документ спецификации, который объясняет, как работает ваш протокол, в идеале науровень байтов.Следует указать, содержит ли протокол сообщения и, если да, то, как отправитель помечает границы сообщений и как их идентифицирует получатель.
Здесь ваш получатель идентифицирует границы сообщений, просматривая окончания строк.Но ваш отправитель не помечает границы сообщений окончаниями строк.Таким образом, получатель ждет вечно.
Если бы у вас была спецификация протокола, это было бы очевидно.В будущем я настоятельно призываю вас потратить время на указание каждого протокола, который вы реализуете.