Winsock循环直到主机上线

时间:2014-11-11 19:43:44

标签: c++ winsock

我有一个客户端,基本上希望(不时)连接到远程主机发送一些消息并断开连接。但主机可能并不总是可用。如何设置一个类似的循环(最好避免一些cpu耗时的循环):

  

Attempt_Send_Data(数据数据)

     
     

主持人在线吗? :再次检查:连接,传输此数据   ,断开,返回

(我使用的是C ++,WinSock2和TCP协议)

1 个答案:

答案 0 :(得分:0)

完全不相关的说明,但是当你删除其他问题时我正在处理它,我会在这里发布,并在你有时间看一下就删除。

对于其他读者,是的,对于这个问题,这是偏离主题的,但也许我们需要某种消息传递系统。

对于初学者,重构你的getInterSection

# This return 2, 3 or 4 items, depending on the position
def getInterSection(x,y,grid):
    intersections = []
    if y > 0:
        intersections.append((x, y - 1))
    if y < grid[1] - 1:
        intersections.append((x, y + 1))
    if x > 0:
        intersections.append((x - 1, y))
    if x < grid[0] - 1:
        intersections.append((x + 1, y))
    return intersections

像这样使用:

intersect = getInterSection(x,y,grid)
# This is a uniform choice, therefore probability is as expected 1/2, 1/3 or 1/4
x,y=random.choice(intersect)