我有一个客户端,基本上希望(不时)连接到远程主机发送一些消息并断开连接。但主机可能并不总是可用。如何设置一个类似的循环(最好避免一些cpu耗时的循环):
Attempt_Send_Data(数据数据)
主持人在线吗? 否:再次检查是:连接,传输此数据 ,断开,返回
(我使用的是C ++,WinSock2和TCP协议)
答案 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)