最近考虑把原来的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/archive/2007/11/28/975657.html
相关资源:JAVA上百实例源码以及开源项目源代码