想做一个通讯的程序。原理就是利用Socket实例进行发送数据和接收数据。
假设现在有1000个点需要发送 private void timer1_Tick(object sender, EventArgs e)
{
Socket实例1发送请求信息(..);
Socket实例1接收信息(..); Socket实例2发送请求信息(..);
Socket实例2接收信息(..);
.
.
.
Socket实例1000发送请求信息(..);
Socket实例1000接收信息(..);
}第一个问题:现在出现一个未知问题,我不清楚这个timer1跑一遍需要多长的时间。
我希望在10秒中之内可以完成。不知道行不行。
第二个问题:假设第一个问题10秒中之内不能完成工作,那我可不可以多设置几个Timer。如果可行,应该注意哪些问题。希望高手指点!!
感激不尽!!!!!
假设现在有1000个点需要发送 private void timer1_Tick(object sender, EventArgs e)
{
Socket实例1发送请求信息(..);
Socket实例1接收信息(..); Socket实例2发送请求信息(..);
Socket实例2接收信息(..);
.
.
.
Socket实例1000发送请求信息(..);
Socket实例1000接收信息(..);
}第一个问题:现在出现一个未知问题,我不清楚这个timer1跑一遍需要多长的时间。
我希望在10秒中之内可以完成。不知道行不行。
第二个问题:假设第一个问题10秒中之内不能完成工作,那我可不可以多设置几个Timer。如果可行,应该注意哪些问题。希望高手指点!!
感激不尽!!!!!
http://www.codeproject.com/KB/dotnet/ABTransClockArticle.aspx
你服务端发送数据肯定是在得到需要通讯的要求之后再开始发送的,也就是说,当服务器接收到数据后,对数据处理,然后定义ReceiveCallBack,在这里面进行消息回发。就不需要用timer了。
客户端也是一样的道理,保持连接接收服务端回发的消息就可以了。
我也是刚接触不久,可能说不太清楚,自己网上找点socket的例子看看吧。微软官方就有例子的。
用异步效果会好点
因为假如你整个timer1_Tick 事件
执行完成的时间超过了你设置的运行时间间隔
那么肯定是达不到你的期望效果
不是非要用timer吧!