我在google上搜索了几乎所有的stackoverflow解决方案和android文档,但我无法做到。这是我的服务器端代码:-在import socket
import time
serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
#host = socket.gethostname()
host = "192.168.1.100"
port = 6000
serversocket.bind((host,port))
serversocket.listen(5)
def sample1():
print "the data has arrived"
clientsocket.send("success")
def sample2():
print "the data"
clientsocket.send("success again")
while True:
clientsocket, addr = serversocket.accept()
print("Got a connection from %s" % str(addr))
while 1:
data3 = clientsocket.recv(1024)
data4 = data3.strip()
if data4 == "hello":
sample1()
elif data4 == "hi":
sample2()
else:
print "random data"
if data4 == "stop":
break
这是我的客户代码安卓系统:-在
^{pr2}$
单击按钮时触发onClick事件。所有权限防火墙设置也检查过它们是否正常。打开应用程序时,它连接到python服务器(它显示它收到了一个连接)。点击后,它首先发送字符串hello,这使它跳转到sample1函数,android也在textView中收到消息success。但在这之后,它并没有停止,python服务器会一直打印随机数据,再次单击按钮也不会发生任何事情。我希望我的客户机只发送一次hello后,它被按下,获得数据,更新用户界面,并等待按钮再次按下。最初,我用这个来获取温度数据,所以每次温度变化,python服务器都会发送数据,我想在我的android应用程序上显示它,而不需要按任何按钮。我该如何做我原本打算做的事?如代码正确,将不胜感激。谢谢。在