/// <summary>
/// 连接外部程序发送数据
/// </summary>
/// <param name="IP"></param>
/// <param name="orderid"></param>
/// <param name="pro"></param>
/// <returns></returns>
string socketcom(string IP, int pro, string postdata)
{
string isreturn = "";
TcpClient tcp = new TcpClient();
try
{
tcp.Connect(IP, pro);//根据服务器的IP地址和侦听的端口连接
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString(), "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
//string Fil = DateTime.Now.ToString("yyyyMMddHHmmssffff") + ".html";
if (tcp.Connected)
{
//连接成功的消息机制 详细见DEMO
int bytesRead = 0;
//ShowGetData("成功连接上了服务器:", this.strIP.Text.ToString());
NetworkStream streamToServer = tcp.GetStream();
//string sbk = Fil + "|" + sqbeg + "|" + sqlend + "|" + sbktime;
//string sbkend = "123456";
byte[] buffer = Encoding.UTF8.GetBytes(postdata); //msg为发送的字符串
try
{
lock (streamToServer)
{
streamToServer.Write(buffer, 0, buffer.Length); // 发往服务器
}
//接收字符串
buffer = new byte[10000];
lock (streamToServer)
{
bytesRead = streamToServer.Read(buffer, 0, 10000);
if (bytesRead > 0)
{
string temp = Encoding.UTF8.GetString(buffer, 0, 10000);
//isreturn = temp;
isreturn = HttpUtility.UrlDecode(temp);
tcp.Close();
}
}
}
catch (ArgumentOutOfRangeException ae)
{
isreturn = "异常";
}
}
else
{
isreturn = "异常";
}
return isreturn;
}
本文介绍了一个使用C#实现的TCP客户端程序,该程序能够连接到指定IP和端口的服务器,发送数据并接收返回的数据。通过创建TcpClient实例,进行连接操作,并利用NetworkStream进行数据的写入和读取,实现了与服务器的有效通信。
7025

被折叠的 条评论
为什么被折叠?



