Chirurgia endoscopică a hipofizei
"Standardul de aur" în chirurgia hipofizară îl reprezintă endoscopia transnazală transsfenoidală. Echipa NeuroHope este antrenată în unul din cele mai mari centre de chirurgie a hipofizei din Europa, Spitalul Foch din Paris, centrul în care a fost introdus pentru prima dată endoscopul în chirurgia transnazală a hipofizei, de către neurochirurgul francez Guiot. Pe lângă tumorile cu origine hipofizară, prin tehnicile endoscopice transnazale pot fi abordate numeroase alte patologii neurochirurgicale. www.neurohope.ro |
Pot transmite dar nu receptiona date de la un Python-server cu Android
Last Updated: May 14 2018 17:19, Started by
ursudepadure
, May 13 2018 13:27
·
0
#1
Posted 13 May 2018 - 13:27
Vreau sa controlez un Raspberry pi prin telefon/tableta Android. Am reusit sa fac transmisia de date, pot sa aprind leduri, etc. cu click pe butoane sau alte evenimente din Android dar nu reusesc sa transmit date de la serverul scris in Python pentru Android. Ca sa vad daca am inteles, am scris cat se poate de minimal un server si un client in Python si funcitoneaza ca un program de chat:
AICI E SERVERUL: import socket s = socket.socket() #host = socket.gethostname() host ='' port = 7800 s.bind((host, port)) s.listen(5) print 'acesta e numele hostului:' , socket.gethostname() print 'urmeaza datele referitoare la socket doar pentru testare: ' print(s.getsockname()[0]) print(s.getsockname()[1]) print 'Asteptam clienti! Ia conexiune de aici neamule!' c, addr = s.accept() print '--------------------Avem clienti! --------------------------------' print 'Avem O conexiune cu client de la adresa si portul:', addr while True: print 'Clientul zice ca:' buf = c.recv(1024) print 'am trimis textul ', buf q = raw_input("Scrie catre client : >>> ") c.send(q) print '-----------------mesaj transmis la client!------------------' AICI E CLIENTUL: import socket import sys s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect(('192.168.1.92', 7800 )) #IP is the server IP #trimit un prim mesaj scris direct dupa linia de comanda dupa ce am tastat python client.py mesjaj de salut for args in sys.argv: if args == "": args = 'no args' else: s.send(args + ' ') print 'Incepe dialogul:' while True: print ' Serverul zice: ' data = s.recv(1024) print data q = raw_input(" Scrie ceva la server: >>> ") s.send(q) print '-----------------mesaj transmis la server------------------' //////////////////////////////////// Acum pentru a trimite date catre un sever Python din Rasbery de pe o tableta Android am scris un program modularizat, cu o clasa separata de MainActivity. Pentru a simplifica lucrurile, prezint aici incercarea de a receptiona mesajele de la serverul Python in MainActivity ca sa nu complic lucurile. De conectat se conecteaza dar nu apare nimic intr-un TextView (un fel de "label" in alte limbaje) care in codul meu se numeste "mesaj" si corespunde unui TextView cu ID textView in layout. ////////////////// ACESTA E CODUL SCRIS PENTRU ANDROID /////////////////////////////// public class MainActivity extends Activity { private Socket socket; private static final int SERVERPORT = 7800; private static final String SERVER_IP = "192.168.1.92"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); new Thread(new ClientThread()).start(); } class ClientThread implements Runnable { @Override public void run() { try { InetAddress serverAddr = InetAddress.getByName(SERVER_IP); socket = new Socket(serverAddr, SERVERPORT); } catch (UnknownHostException e1) { e1.printStackTrace(); } catch (IOException e1) { e1.printStackTrace(); } try { // SE CONECTEAZA DAR URMEAZA SA CITEASCA DE LA SERVER InputStream in = socket.getInputStream(); // CREEAZA UN STREAM CARE CITESTE DIN SOCKET TextView message = (TextView) findViewById(R.id.textView); // ASOCIAZA VARIABILA message CU textView DIN LAYOUT BufferedReader br = new BufferedReader(new InputStreamReader(in)); // CREEAZA UN BUFFER PENTRU A PUTEA CITI String line; while ((line = br.readLine ()) != null) { // CITESTE LINIILE ATATA TIMP CAT EXISTA LINII message.setText(br.readLine()); // AFISEAZA TEXTUL IN textView, PUTEAM FOLOSI append } in.close(); } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } } } ////////////////////////// Ca sa vad daca merge am modificat serverul si am dezactivat liniile cu mesaje primite de la client, sa transmit doar date imediat dupa conectare: MODIFICAREA FACUTA IN SEVERUL PYTHON: while True: #print 'Clientul zice ca:' AM DEZACTIVAT CE VINE DE LA CLIENT, CA MA INTERSEAZA #buf = c.recv(1024) SA MA FOCUSEZ ASUPRA PROBLEMEI DE RECEPTIONARE #print 'am trimis textul ', buf q = raw_input("Scrie catre client : >>> ") c.send(q) print '-----------------mesaj transmis la client!------------------'Ei bine, ma asteptam sa vad ceva in casuta de text de tip TextView. Nu se intampla insa nimic desi serverul imi arata ca se conecteaza. Edited by MarianG, 01 December 2020 - 12:26. |
#2
Posted 14 May 2018 - 06:17
Oare am postat gresit aici? Dar nu stiu exact unde as putea posta asta? E vorba si de Python (limbaj de script) si de Java pentru SDK Android pentru care nu exista un forum.
|
#3
Posted 14 May 2018 - 17:02
Aria asta e pentru cerut/promovat programe.
Mai jos gasesti o arie imensa pt probleme de programare |
#4
Posted 14 May 2018 - 17:19
Wireshark iti arata ce se transfera pe retea, pentru a te ajuta sa diagnostichezi problema.
|
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users