您的位置:首页 > 理论基础 > 计算机网络

C#:一个增强的TcpClient(四)查询

2012-03-23 15:11 453 查看
using System;

namespace Splash.Net.Sockets
{
/// <summary>
/// 实现TcpClient的异步查询
/// </summary>
public partial class TcpClientPlus
{
/// <summary>
/// 异步查询
/// </summary>
/// <param name="command">发送数据</param>
/// <param name="offset">起始偏移量</param>
/// <param name="size">字节数</param>
/// <param name="answer">接收数据</param>
public void Query(Byte[] command, Int32 offset, Int32 size, out Byte[] answer)
{
if (command != null)
{   // 发送数据
Write(command, offset, size);
}

// 接收数据
Read(out answer);
}

/// <summary>
/// 异步查询
/// </summary>
/// <param name="command">发送数据</param>
/// <param name="offset">起始偏移量</param>
/// <param name="size">字节数</param>
/// <param name="answer">接收数据</param>
/// <param name="codePage">代码页</param>
/// <remarks>
/// 代码页:
///     简体中文GB2312      936
///     简体中文GB18030     54936
///     繁体中文BIG5        950
///     西欧字符CP1252      1252
///     UTF-8               65001
/// </remarks>
public void Query(Byte[] command, Int32 offset, Int32 size, out String answer, Int32 codePage = 65001)
{
if (command != null)
{   // 发送数据
Write(command, offset, size);
}

// 接收数据
Read(out answer, codePage);
}

/// <summary>
/// 异步查询
/// </summary>
/// <param name="command">发送数据</param>
/// <param name="answer">接收数据</param>
public void Query(Byte[] command, out Byte[] answer)
{
if (command != null)
{   // 发送数据
Write(command);
}

// 接收数据
Read(out answer);
}

/// <summary>
/// 异步查询
/// </summary>
/// <param name="command">发送数据</param>
/// <param name="answer">接收数据</param>
/// <param name="codePage">代码页</param>
/// <remarks>
/// 代码页:
///     简体中文GB2312      936
///     简体中文GB18030     54936
///     繁体中文BIG5        950
///     西欧字符CP1252      1252
///     UTF-8               65001
/// </remarks>
public void Query(Byte[] command, out String answer, Int32 codePage = 65001)
{
if (command != null)
{   // 发送数据
Write(command);
}

// 接收数据
Read(out answer, codePage);
}

/// <summary>
/// 异步查询
/// </summary>
/// <param name="command">发送数据</param>
/// <param name="answer">接收数据</param>
/// <param name="codePage">代码页</param>
/// <remarks>
/// 代码页:
///     简体中文GB2312      936
///     简体中文GB18030     54936
///     繁体中文BIG5        950
///     西欧字符CP1252      1252
///     UTF-8               65001
/// </remarks>
public void Query(String command, out Byte[] answer, Int32 codePage = 65001)
{
if (!String.IsNullOrEmpty(command))
{   // 发送数据
Write(command, codePage);
}

// 接收数据
Read(out answer);
}

/// <summary>
/// 异步查询
/// </summary>
/// <param name="command">发送数据</param>
/// <param name="answer">接收数据</param>
/// <param name="codePage">代码页</param>
/// <remarks>
/// 代码页:
///     简体中文GB2312      936
///     简体中文GB18030     54936
///     繁体中文BIG5        950
///     西欧字符CP1252      1252
///     UTF-8               65001
/// </remarks>
public void Query(String command, out String answer, Int32 codePage = 65001)
{
if (!String.IsNullOrEmpty(command))
{   // 发送数据
Write(command, codePage);
}

// 接收数据
Read(out answer, codePage);
}
}
}


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c# command query byte string null