+ -
当前位置:首页 → 问答吧 → winsocket 发送完数据后就 close ,能够吗?

winsocket 发送完数据后就 close ,能够吗?

时间:2011-11-16

来源:互联网

Private Sub sckSend_Connect()
Dim bFileData() As Byte

With sckSend  
  '获得 bFileData
  '.......
 
  If (.State = sckConnected) Then
  .SendData bFileData '发送数据  
  .close '关闭  
  End If
End With
End Sub

因为服务器只用sckSend 来向超过100台电脑发送信息,要求复用sckSend,
所以要求发送完就关闭,但是: 
.SendData bFileData  
执行后立刻 .close ,
对方收不到 数据内容?
这该如何办? 

sckSend 应该在什么时候关闭? 请教~




作者: seeQe   发布时间: 2011-11-16

这要看你发的是TCP包还是UDP包,如果发的是TCP包,则要等对方有回应,而发UDP包,则不管.

作者: qianjin036a   发布时间: 2011-11-16

1.发完后关闭发送SHUTDOWN.SEND ,或SHUTDOWN.both ,
2.然后延时,太快则内容不及发完
3.执行 .close

作者: chzadm   发布时间: 2011-11-16

send之后就已经在协议栈的缓冲区里了,对方收不到应该跟立即close没关系。

作者: wangmu7206   发布时间: 2011-11-16