服务端和客户端连接的问题,求教

尊尚科技 2009-03-25 09:59:26
我需要实现在服务端按Command1_Click 客户端返回一个“O(∩_∩)O哈哈~” 给服务端
功能已经完全实现了,但是我发现整个流程只能走一次,也就是说客户端返回了一次之后 服务端第二次(第二个客户)再去点服务端Command1_Click 客户端就不响应了 [我想做到,客户端一直在等待服务端的连接,发现有服务端连接进来,就发送一个"O(∩_∩)O哈哈~"的消息给它,不间断的等待,因为同一秒可能有N个客户连接进来的]
================================服务端代码=========================================
'每秒检测一下连接状态,如果没有连接上的话就继续尝试连接。
Private Sub Timer1_Timer()
If Winsock1.State <> sckConnected Then
Winsock1.Close
Winsock1.Connect
End If
End Sub

Private Sub Command1_Click()
Call Timer1_Timer
End Sub

'已经连接上的时候,就触发了Winsock1_Connect事件,在次将timer控件的enable属性设置为FALSE
Private Sub Winsock1_Connect()
Timer1.Enabled = False
End Sub
================================服务端代码=========================================


================================客户端代码=========================================
Private Sub Command1_Click()

Winsock1.SendData "O(∩_∩)O哈哈~"

End Sub

Private Sub Form_Load()
Winsock1.Listen
End Sub
Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
If Winsock1.State <> sckClosed Then Winsock1.Close
Winsock1.Accept requestID

MsgBox "连接成功"

End Sub
================================客户端代码=========================================




...全文
254 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
rmini 2009-04-05
  • 打赏
  • 举报
回复
good
嗷嗷叫的老马 2009-03-27
  • 打赏
  • 举报
回复
http://www.m5home.com/blog/article.asp?id=169

多客户结构可以参考以上的例子.
mybelta2 2009-03-27
  • 打赏
  • 举报
回复
ding
basey 2009-03-26
  • 打赏
  • 举报
回复
我在做的网络游戏有这个例子,你可以参考,确实要用到winsock数组实现多个连接,用timer发送一次连接一次确实不好,且只是针对一个客户端有用。
fjwyshan 2009-03-26
  • 打赏
  • 举报
回复
mark
lili830209 2009-03-26
  • 打赏
  • 举报
回复
mark
lyserver 2009-03-26
  • 打赏
  • 举报
回复
想响应多个客户端,应该使用socket动态数组,而不是用timer进行判断。

1,488

社区成员

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

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