1
我有一個android應用程序(java)和一個python「服務器」,android應用程序通過套接字連接到python服務器。當我通過java(socket.close())關閉套接字時,python程序不會拋出異常,就像我除外它,但是當我關閉android應用程序時(完全關閉)它會拋出「[Errno 10054]現有的連接被強制由遠程主機關閉「,這是我希望它通過插座關閉它。如何知道另一側的插座何時關閉
我怎樣才能知道android應用何時關閉套接字而不退出應用本身?
蟒蛇:
def __init__(self, IP, port):
try:
self.acceptor = socket.socket()
self.acceptor.bind((IP, port))
self.acceptor.listen(1)
except socket.error, e:
print e
def start_server(self):
#Start server:
try:
self.sock, self.connecting_ip = self.acceptor.accept()
print self.connecting_ip[0] + " connected!"
except socket.error, e:
print e
def wait_for_command(self):
stop_flag = True
try:
while stop_flag:
data = self.sock.recv(1024)
if data:
data_tuple = self.split_msg(data)
if data_tuple[0] == self.MSG_REQ:
print data_tuple[1]
stop_flag = False
except socket.error, e
print e
但android應用程序不關閉套接字;發生在服務器上......或者你說過的。 –
如果套接字在另一邊被關閉,我認爲知道它的唯一方法是試圖發送一些信息並捕獲異常。 – zozelfelfo
您使用UDP或TCP套接字嗎? –