multithreading - Python socket multiple connections -


i'm trying python application connected java program , raspebrry pi. program should listen java , raspberry , able response. don't know how that. i'm using couple of threads , can send message raspberry , listen java in same time can't listen 2 connections , it's necessary me.

def startprogram(sock): try:     sock.setblocking(false)     sock.settimeout(10)     sock.setsockopt(socket.sol_socket, socket.so_reuseaddr, 1)     sock.connect((java_host, java_port))      data = sock.recv(1024)      if (data == "abc\r\n"):          sock.sendall("abc otrzymane!!!\n")          global robot_ip_address          robot_ip_address = sys.argv[0] + "." + sys.argv[1] + "." + sys.argv[2] + "." + sys.argv[3]          threading.thread(target=steering, args=[order]).start()          threading.thread(target=getdistance, args=[sock]).start() except:     sock.close() finally:     return sock  //program starts here! sock = socket.socket(socket.af_inet, socket.sock_stream) sock = startprogram(sock) sock.listen(1) sock.setblocking(0)  while 1:   conn, addr = sock.accept()   data = conn.recv(1024)   if (data == "camera\r\n"):     iscameraon = ~iscameraon     if iscameraon == true:         sendorder("camera_on")     else:         sendorder("camera_off")   if(data == "order\r\n"):     order = data 

it's code executed when run program java. , it's code of function listening information raspberry:

def getdistance(s):  s.bind((my_ip_address, from_robot_port)) // exception  s.listen(1)  while (true):     conn, addr = s.accept()     print('connection address:', addr)     while 1:         data = conn.recv(buffer_size_distance)         if not data: break         print("received data:", data)         conn.send(data)  # echo     conn.close()   

generally problem socket. can't create 2 socket variable , listen in different ports @ same time , don't know why. exception:

file "pythonscript.py", line 32, in getdistance    s.bind((java_host, from_robot_port)) file "<string>", line 1, in bind file "c:\jython2.5.0\lib\socket.py", line 777, in bind   assert not self.sock_impl assertionerror 

i don't know means exception.


Comments

Popular posts from this blog

ubuntu - PHP script to find files of certain extensions in a directory, returns populated array when run in browser, but empty array when run from terminal -

php - How can i create a user dashboard -

javascript - How to detect toggling of the fullscreen-toolbar in jQuery Mobile? -