启动带参数的线程

前个星期,公司的项目在客户那里出现了点问题,情况为电话打入后,系统不能弹单(打入电话的时候会显示打入电话者的三字段信息:名字、电话、地址),经过检查后,发现为系统在向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();

0
0
(请您对文章做出评价)
« 上一篇:哈,俺又回来了!
» 下一篇:FANSMI音乐下载器原理

posted on 2007-07-12 14:04 samuel's blog 阅读(291) 评论(2)  编辑 收藏 所属分类: C#

评论

#1楼 2007-07-24 12:54 p0int3r[未注册用户]

不错不错~~~

PS:你娃不勤快哦,这么久了还不更新BLOG :)
  回复  引用    

#2楼 2007-07-25 10:46 maxun[未注册用户]

呵呵呵,等到有原创东西的时候再发出来也不晚啊,哈哈
你小子,现在改用MSN啦?QQ上看不到你了喃?

下个月4号你哥子小心点哦,嘿嘿嘿,自己把你要送我啥子DD先想好,HOHOHOHO
  回复  引用    

公告

导航

统计

  • 随笔 - 21
  • 文章 - 10
  • 评论 - 60
  • 引用 - 0

搜索

 
 

常用链接

随笔分类

随笔档案

文章分类

相册

连接

最新随笔

最新评论

阅读排行榜