启动带参数的线程

前个星期,公司的项目在客户那里出现了点问题,情况为电话打入后,系统不能弹单(打入电话的时候会显示打入电话者的三字段信息:名字、电话、地址),经过检查后,发现为系统在向GIS系统发送数据的时候造成一个超时等待(GIS没有启动,但是我不明白的是我用的UdpClient,按理说不应该出现这种情况啊),考虑后,决定使用线程来解决这个问题,但是这个线程需要以带参数的形式启动,经过思考后,得出以下代码:

// 首先要写一个类,类里头包含了数据的发送,以构造函数的方式将REMOTE HOST、PORT、和要发送的数据构造进去。
#region send gis data
 class SendGISData
 {
  private string strIP = "";
  private string strData = "";
  private int nRemotePort = -1;

  // IP:目标机IP地址,Data:要发送的字符串数据,RemotePort:端口
  public SendGISData(string IP,string Data,int RemotePort)
  {
   strIP = IP;
   strData = Data;
   nRemotePort = RemotePort;
  }

  public void UDPSendData()
  {
   int sendCount = 0;
   System.Net.Sockets.UdpClient client = new System.Net.Sockets.UdpClient(strIP,nRemotePort);
   byte[] data = new byte[strIP.Length];
   try
   {
    client.Connect(strIP,nRemotePort);
    data = Encoding.ASCII.GetBytes(strData);
    sendCount = client.Send(data,data.Length);
   }
   catch
   {
    sendCount = -32767;
   }
   finally
   {
    client.Close();
   }
  }
 }
 #endregion



// 使用方法
using System.Threading;
....
....
....
SendGISData GISCtrl= new SendGISData("10.54.163.164","02887832222",8080);
ThreadStart threadStart = new ThreadStart(GISCtrl.UDPSendData);
Thread thread= new Thread(threadStart);
thread.Start();

转载于:https://www.cnblogs.com/maxun/archive/2007/07/12/815464.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值