8 个解决方案
#1
if (socket.Poll(0, SelectMode.SelectRead))
{
}
{
}
#2
要是我用的是C语言,里面没有这个函数应该怎么办呢?
#3
程序怎么知道另一台电脑发送数据了没有呢,当然只能一直收了,
你的问题可能是收的时候没有数据会卡住,这是你的问题,得用线程,或者异步之类的方法。
你的问题可能是收的时候没有数据会卡住,这是你的问题,得用线程,或者异步之类的方法。
#4
难道没有什么信号位可以表示在接收缓冲中有数据吗?
#5
Available属性或者DataAvailable属性。
你如何Receive信号位?Receive信号位置后立刻Receive数据对吧?Receive就是集成这两个功能的。
所以如果你阻塞在那里去看什么“信号位”,那么还不如仅写一个Receice语句。编程当然是越简单越好,只有那些抱着java书籍走火入魔的人才喜欢繁琐地去编程。
如果你不想阻塞和占用线程资源,如果你想让系统变得依赖倒置似地敏捷轻快,那么就使用 BeginReceive (或者 BeginRead),这就是系统已经写好的现成的灵敏响应“信号位”——仅在必要时才回调你的代码——的机制。
你如何Receive信号位?Receive信号位置后立刻Receive数据对吧?Receive就是集成这两个功能的。
所以如果你阻塞在那里去看什么“信号位”,那么还不如仅写一个Receice语句。编程当然是越简单越好,只有那些抱着java书籍走火入魔的人才喜欢繁琐地去编程。
如果你不想阻塞和占用线程资源,如果你想让系统变得依赖倒置似地敏捷轻快,那么就使用 BeginReceive (或者 BeginRead),这就是系统已经写好的现成的灵敏响应“信号位”——仅在必要时才回调你的代码——的机制。
#6
异步方式!!!!
#7
#8
Available属性或者DataAvailable属性。
你如何Receive信号位?Receive信号位置后立刻Receive数据对吧?Receive就是集成这两个功能的。
你如何Receive信号位?Receive信号位置后立刻Receive数据对吧?Receive就是集成这两个功能的。
#1
if (socket.Poll(0, SelectMode.SelectRead))
{
}
{
}
#2
要是我用的是C语言,里面没有这个函数应该怎么办呢?
#3
程序怎么知道另一台电脑发送数据了没有呢,当然只能一直收了,
你的问题可能是收的时候没有数据会卡住,这是你的问题,得用线程,或者异步之类的方法。
你的问题可能是收的时候没有数据会卡住,这是你的问题,得用线程,或者异步之类的方法。
#4
难道没有什么信号位可以表示在接收缓冲中有数据吗?
#5
Available属性或者DataAvailable属性。
你如何Receive信号位?Receive信号位置后立刻Receive数据对吧?Receive就是集成这两个功能的。
所以如果你阻塞在那里去看什么“信号位”,那么还不如仅写一个Receice语句。编程当然是越简单越好,只有那些抱着java书籍走火入魔的人才喜欢繁琐地去编程。
如果你不想阻塞和占用线程资源,如果你想让系统变得依赖倒置似地敏捷轻快,那么就使用 BeginReceive (或者 BeginRead),这就是系统已经写好的现成的灵敏响应“信号位”——仅在必要时才回调你的代码——的机制。
你如何Receive信号位?Receive信号位置后立刻Receive数据对吧?Receive就是集成这两个功能的。
所以如果你阻塞在那里去看什么“信号位”,那么还不如仅写一个Receice语句。编程当然是越简单越好,只有那些抱着java书籍走火入魔的人才喜欢繁琐地去编程。
如果你不想阻塞和占用线程资源,如果你想让系统变得依赖倒置似地敏捷轻快,那么就使用 BeginReceive (或者 BeginRead),这就是系统已经写好的现成的灵敏响应“信号位”——仅在必要时才回调你的代码——的机制。
#6
异步方式!!!!
#7
#8
Available属性或者DataAvailable属性。
你如何Receive信号位?Receive信号位置后立刻Receive数据对吧?Receive就是集成这两个功能的。
你如何Receive信号位?Receive信号位置后立刻Receive数据对吧?Receive就是集成这两个功能的。