/// <summary> /// 使用UTF8编码格式以同步方式向指定的Socket对象发送消息 /// </summary> /// <param name="socket">socket对象</param> /// <param name="msg">发送的消息</param> public static void SendMsg(Socket socket, string msg) { //将字符串消息转换成字符数组 byte[] buffer = SConvertHelper.StringToBytes(msg, Encoding.Default); //发送消息 socket.Send(buffer, buffer.Length, SocketFlags.None); }
/// <summary> /// 以同步方式接收消息,并转换为UTF8编码格式的字符串,使用5000字节的默认缓冲区接收。 /// </summary> /// <param name="socket">socket对象</param> public static string ReceiveMsg(Socket socket) { //定义接收缓冲区 byte[] buffer = new byte[5000]; //接收数据,获取接收到的字节数 int receiveCount = socket.Receive(buffer); //定义临时缓冲区 byte[] tempBuffer = new byte[receiveCount]; //将接收到的数据写入临时缓冲区 Buffer.BlockCopy(buffer, 0, tempBuffer, 0, receiveCount); //转换成字符串,并将其返回 return(SConvertHelper.BytesToString(tempBuffer, Encoding.Default)); }
/// <summary> /// 将DataTable转成实体List /// </summary> /// <typeparam name="T"></typeparam> /// <param name="dt"></param> /// <returns></returns> public static List <T> DataTableToList <T>(DataTable dt) where T : new() { if (dt == null) { return(null); } else { DataRow[] arrDataRow = new DataRow[dt.Rows.Count]; for (int i = 0; i < dt.Rows.Count; i++) { arrDataRow[i] = dt.Rows[i]; } return(SConvertHelper.DataRowsToList <T>(arrDataRow)); } }
/// <summary> /// 将DataRow数组转成实体List /// </summary> /// <typeparam name="T"></typeparam> /// <param name="arrDataRow"></param> /// <returns></returns> public static List <T> DataRowsToList <T>(DataRow[] arrDataRow) where T : new() { if (arrDataRow == null) { return(null); } else { // 定义集合 List <T> ts = new List <T>(); foreach (DataRow dr in arrDataRow) { ts.Add(SConvertHelper.DataRowToModel <T>(dr)); } return(ts); } }