Я скомпилировал ваш клиент C ++, немного изменил его.
#include <iostream>
#include <boost/asio.hpp>
int main(int, char**) {
boost::asio::io_service service;
boost::asio::ip::tcp::endpoint ep(boost::asio::ip::address::from_string("127.0.0.1"), 3000);
boost::asio::ip::tcp::socket sock(service);
sock.open(boost::asio::ip::tcp::v4());
sock.connect(ep);
sock.write_some(boost::asio::buffer("the test message"));
char buff[1024];
auto rcvd_bytes = sock.read_some(boost::asio::buffer(buff,1024));
std::cout << "rcvd_bytes:" << rcvd_bytes << '\n';
sock.shutdown(boost::asio::ip::tcp::socket::shutdown_receive);
sock.close();
std::cout << buff << '\n';
}
Получаю socketserver.TCPServer Example
import socketserver
class MyTCPHandler(socketserver.BaseRequestHandler):
"""
The RequestHandler class for our server.
It is instantiated once per connection to the server, and must
override the handle() method to implement communication to the
client.
"""
def handle(self):
# self.request is the TCP socket connected to the client
self.data = self.request.recv(1024).strip()
print("{} wrote:".format(self.client_address[0]))
print(self.data)
# just send back the same data, but upper-cased
self.request.sendall(self.data.upper())
if __name__ == "__main__":
HOST, PORT = "localhost", 3000
# Create the server, binding to localhost on port 9999
server = socketserver.TCPServer((HOST, PORT), MyTCPHandler)
# Activate the server; this will keep running until you
# interrupt the program with Ctrl-C
server.serve_forever()
Я запустил оба приложения и все вроде работает.
Сервер
127.0.0.1 wrote:
b'the test message\x00'
Клиент
rcvd_bytes:17
THE TEST MESSAGE
Боюсь, без реального кода сервера и соответствующего окружения это сложно понять что не работает в вашем случае.