Msrec为MSCOM控件,现在要用WINSOCKET控件,属性protocol为TCP ,代码如何修改?
Private Sub Msrec_OnComm()
On Error GoTo Sendfast
Select Case Msrec.CommEvent
Case comEvReceive '只要收到一个字节就触发此事件
DC = 0
'Msrec.RThreshold = 0 '停止触发此事件以防止数据处理过程被意外中断
If (IDf = False) And (IDbg = 0) Then '还未建立连接。
Inst = Msrec.Input '读入一个字节到临时变量
Ins(0) = Inst(0) '转存为字节型变量
InsD = Ins(0) '赋值给整型变量,此时数据为十进制---如:收到数据为A0,此变量为160。 If InsD = 2 Then '判断是否为起始符号
BakD(0) = &H10 '发送确认信号,以驱动发送方发送有效数据
Msrec.Output = BakD
'Text9.Text = Timer()
'FrmMe.Tmt.Enabled = True '暂用代码
IDbg = 1
ElseIf InsD <> 2 Then
Msrec.InBufferCount = 0 '如果缓存中有数据但由于意外断开,将清零以重新接收
End If '报文开始
End If '判断连接
'TmL.Enabled = True
If (Msrec.InBufferCount > 10) And (IDf = False) And (IDbg = 1) Then IDf = True '说明一次收到很多数据,已经建立连接,有大量数据送至 Do While (Msrec.InBufferCount > 0) And (IDf = True)
'If IDbg = 1 Then Text9.Text = Timer()
Inst = Msrec.Input '读入一个字节到临时变量
Ins(0) = Inst(0) '转存为字节型变量
InsD = Ins(0) '赋值给整型变量,此时数据为十进制---如:收到数据为A0,此变量为160。
Private Sub Msrec_OnComm()
On Error GoTo Sendfast
Select Case Msrec.CommEvent
Case comEvReceive '只要收到一个字节就触发此事件
DC = 0
'Msrec.RThreshold = 0 '停止触发此事件以防止数据处理过程被意外中断
If (IDf = False) And (IDbg = 0) Then '还未建立连接。
Inst = Msrec.Input '读入一个字节到临时变量
Ins(0) = Inst(0) '转存为字节型变量
InsD = Ins(0) '赋值给整型变量,此时数据为十进制---如:收到数据为A0,此变量为160。 If InsD = 2 Then '判断是否为起始符号
BakD(0) = &H10 '发送确认信号,以驱动发送方发送有效数据
Msrec.Output = BakD
'Text9.Text = Timer()
'FrmMe.Tmt.Enabled = True '暂用代码
IDbg = 1
ElseIf InsD <> 2 Then
Msrec.InBufferCount = 0 '如果缓存中有数据但由于意外断开,将清零以重新接收
End If '报文开始
End If '判断连接
'TmL.Enabled = True
If (Msrec.InBufferCount > 10) And (IDf = False) And (IDbg = 1) Then IDf = True '说明一次收到很多数据,已经建立连接,有大量数据送至 Do While (Msrec.InBufferCount > 0) And (IDf = True)
'If IDbg = 1 Then Text9.Text = Timer()
Inst = Msrec.Input '读入一个字节到临时变量
Ins(0) = Inst(0) '转存为字节型变量
InsD = Ins(0) '赋值给整型变量,此时数据为十进制---如:收到数据为A0,此变量为160。
服务器先开始监听,客户端设置连接参数,开始绑定进行连接
建定连接后,客户端发送数据,触发服务器上socket事件,接收数据
退出时,断开连接