与VB程序通过Socket交换信息

最近考虑把原来的VB程序用C#或者VC重写,原来的程序是C/S模式的socket应用。以前没涉及.Net的这个方面,如果边学边做,一下子都换掉服务端和客户端是不太现实的,要部分更换就需要先测试一下中文文字的传输是否兼容,编码会不会有问题。
首先是在VS2005中用VC生成简单的MFC App with winsock,然后发送和接受VB服务端的消息,包括中文。经测试,如果用MBCS(DBCS)模式就可以顺利发送和接受,用UNICODE模式就是乱码。
然后在VS2005中用C#生成简单的Win App,用System.Net.Sockets发送和接收VB服务端的消息,包括中文。经测试,用gb2312编码就可以顺利发送和接收,发送和接受都要和byte[]之间转换。
string sendMsg;
byte[] getBytes;
byte[] sendBytes = System.Text.Encoding.GetEncoding("gb2312").GetBytes(sendMsg);
string getMsg=System.Text.Encoding.GetEncoding("gb2312").GetString(getBytes);
不会装糊涂,又看得太清楚~_~
原文地址:https://www.cnblogs.com/StevenLi/p/975657.html