Не указано в исходном вопросе, должны ли обрабатываться управляющие коды ASCII.
Хотя принятый ответ работает для для печати ASCII-символов, у меня возникли проблемы (в Windows 7 Enterprise SP1) при использовании его для строк, содержащих управляющие коды ASCII, особенно строк, содержащих любые из символов «новой строки» java например, VT, CR, LF и т. Д. Обходной путь - отправить строку в байтах и преобразовать ее обратно в строку на дальнем конце.
Смотрите мой ответ на этот вопрос, чтобы узнать, как справиться с этой ситуацией.
Чтение строк и байтов [] из входного потока
и мой тесно связанный вопрос, и он принял ответ:
Требуется клиент TCPIP, который блокирует до получения определенной последовательности символов