求一个将整数类型装换为4位的字节数组,和将字节数组转换为整数的方法!正在做一个搜索引擎的客户端程序,通过Socket TCP发送搜索请求服务。 public static string SendToServer(ref byte[] bs)//发送用户请求并返回结果
{
string recvStr = "";
try
{
int port = 1234;
string host = "192.168.0.8";
IPAddress ip = IPAddress.Parse(host);
IPEndPoint ipe = new IPEndPoint(ip, port);//把ip和端口转化为IPEndPoint实例
Socket c = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//创建一个Socket
c.Connect(ipe);//连接到服务器
Int32 _len = bs.Length;//获取请求字节数组的长度
byte[] lenArr = new byte[4];
SearchCommon.intTobytes(_len, 4, ref lenArr, 0);//将整数插入字节数组
c.Send(lenArr, lenArr.Length, 0);
c.Send(bs, bs.Length, 0);//发送测试信息
int bytes;
byte[] leng = new byte[4];
bytes = c.Receive(leng, 4, 0);//从服务器端接受返回信息
int32 max=SearchCommon.bytesToint(leng);//将整数插入字节数组
byte[] recvBytes = new byte[max];
bytes = c.Receive(recvBytes, recvBytes.Length, 0);//从服务器端接受返回信息
recvStr += System.Text.Encoding.GetEncoding("gb2312").GetString(recvBytes, 12, bytes - 12);
c.Close(); }
catch (ArgumentNullException e)
{
return e.Message;
}
catch (SocketException e)
{
return e.Message;
}
return recvStr; }恳求
intTobytes(_len, 4, ref lenArr, 0);//将整数插入字节数组int32 max=bytesToint(leng);//将字节数组转换为整数这两个方法的实现
{
string recvStr = "";
try
{
int port = 1234;
string host = "192.168.0.8";
IPAddress ip = IPAddress.Parse(host);
IPEndPoint ipe = new IPEndPoint(ip, port);//把ip和端口转化为IPEndPoint实例
Socket c = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//创建一个Socket
c.Connect(ipe);//连接到服务器
Int32 _len = bs.Length;//获取请求字节数组的长度
byte[] lenArr = new byte[4];
SearchCommon.intTobytes(_len, 4, ref lenArr, 0);//将整数插入字节数组
c.Send(lenArr, lenArr.Length, 0);
c.Send(bs, bs.Length, 0);//发送测试信息
int bytes;
byte[] leng = new byte[4];
bytes = c.Receive(leng, 4, 0);//从服务器端接受返回信息
int32 max=SearchCommon.bytesToint(leng);//将整数插入字节数组
byte[] recvBytes = new byte[max];
bytes = c.Receive(recvBytes, recvBytes.Length, 0);//从服务器端接受返回信息
recvStr += System.Text.Encoding.GetEncoding("gb2312").GetString(recvBytes, 12, bytes - 12);
c.Close(); }
catch (ArgumentNullException e)
{
return e.Message;
}
catch (SocketException e)
{
return e.Message;
}
return recvStr; }恳求
intTobytes(_len, 4, ref lenArr, 0);//将整数插入字节数组int32 max=bytesToint(leng);//将字节数组转换为整数这两个方法的实现
BitConverter.ToInt32(buffer,0); //bytes to int