为何我用Socket发送的是一窜字符,而接收的却是空值??????????????????????
代码如下:
public string DOSendSocketInfo(string SendInfo)
{
try
{
Byte[] ByteGet = MyAsc.GetBytes(SendInfo);
s.Send(ByteGet, 0, ByteGet.Length, SocketFlags.None);
Byte[] ByteRece = new byte[1024];
s.Receive(ByteRece, 0, s.Available, SocketFlags.None);
StrPage = Encoding.ASCII.GetString(ByteRece, 0, ByteRece.Length);
MessageBox.Show(StrPage); //这个地方什么都没有???
return StrPage;
}
catch
{
MessageBox.Show("发送失败!");
return "Failed!";
}
}
问题点数:20、回复次数:5Top
1 楼huangsuipeng(hsp|I love foxpig)回复于 2004-04-03 23:58:19 得分 5
SOCKET另外一端的问题吧Top
2 楼loader(追求必将永恒!)回复于 2004-04-04 08:57:14 得分 0
我用的是同一台机器呀Top
3 楼loader(追求必将永恒!)回复于 2004-04-06 08:41:08 得分 0
upTop
4 楼scegg(Silent)回复于 2004-04-06 10:22:38 得分 10
Byte[] ByteRece = new byte[1024];
句子后加一个判断,检测s.Available是否为0,如果是,则等待。
如果还是出错,那么BYTE的编码有问题。Top
5 楼ray88(ray88)回复于 2004-04-07 13:12:55 得分 5
s.availablequ去掉试试,应该可以的Top




