这里将用C++编写socket服务端:C++ Socket 服务端;
用Python编写socket客户端:python Socket 客户端。
1、编码方式区别
C++默认字符串的编码方式为GBK,Python的编码方式默认为utf8。
因此python客户端发送消息时需要进行编解码。
编码:
message = message.encode('gbk')
解码:
data = data.decode('gbk')
2、C++发送中文乱码问题:为避免发送中文乱码,最好将待发送的字符串转换为char*格式,然后进行发送。
std::string res = "C++与python Socket通信注意事项";
char *buff = const_cast<char *>(res.c_str());
int iSend = send(socketConn, buff1, strlen(buff), 0);