Когда вы хотите обслуживать клиентов браузера, ближе всего к необработанному TCP вы получаете WebSockets.
У WebSockets есть достаточный импульс, чтобы поставщики браузеров улучшили поддержку (Chrome 14 и Firefox 7/8 поддерживают последние версии протокола) и что широкий спектр клиентских и серверных сред будет поддерживать его.
Там уже уже пара клиентских библиотек с открытым исходным кодом, включая Autobahn WebSocket .
Если вы хотите испечь что-то для себя (поверх чистого TCP), я бы порекомендовал формат с префиксом длины для ваших сообщений JSON, т.е. Netstrings
Отказ от ответственностиЯ - автор автобана и работаю на Тавендо.