高手帮忙:winsock.SendData的问题

quanquan626 2004-03-12 10:35:40
服务器端发送请求好友的在线状态。
Public Function GetBuddys(UserCommand As String, Index As Integer)
On Error Resume Next
rs.Open "select buddy from buddies where user = '" & Word(UserCommand, 2) & "'", conn
While rs.EOF = False
For u = 0 To intMax
If ServiceSocket(u).State = 7 Then'在线
ServiceSocket(Index).SendData ".pushbuddy " & TranslateStatus(UserInfo(u).Status) & " " & UserInfo(u).UserID & " " & UserInfo(u).UserID
DoEvents
Exit For
Else'不在线
ServiceSocket(Index).SendData ".pushbuddy Offline " & rs.Fields("buddy") & " " & rs.Fields("buddy")
DoEvents
Exit For
End If
Next
rs.MoveNext
Wend
Set rs = Nothing
'结束
ServiceSocket(Index).SendData " .endpushbuddy"
End Function



客户端接收
Winsock.GetData str

判断str的开头是“".pushbuddy ”相应在客户端显示好友的状态。
但是在str的最后有的时候会有“.endpushbuddy”,有的时候没有。
就是说服务器端的上面的Function中发送的str被客户端识别成一次发送的了。
我不希望把“.endpushbuddy”追加在上一次的发送后,
因为我的“.endpushbuddy”是客户端请求未接收的离线消息的,
我是这样想的,
如果那位高手有更好的思路,请教
我的QQ:271702352
Email:wiwian6143@163.com
...全文
89 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复

1,502

社区成员

发帖
与我相关
我的任务
社区描述
VB 网络编程
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧