Komunikacja  UDP laptop - android 
Ostatnio zmodyfikowano 2018-04-18 09:56
| Azaks Temat założony przez niniejszego użytkownika | Komunikacja  UDP laptop - android  » 2018-04-17 15:16:29 Witam, na wstępie zaznaczę, że na razie w temacie komunikacji, programowania raczej raczkuję także mogą pojawić się babole, ale kto nie próbuje... :) To tak , chcę skomunikować się za pomocą laptopa z telefonem z androidem. Od strony "fizycznej" wygląda to tak: w telefonie ściągam UDP Sender, włączam te samo Wi-fi co w laptopie, wpisuje w UDP sender IP wi-fi, port na którym działa program i próbuję coś wysłać, w komputerze zaś, mam odpalony w tym czasie program do komunikacji. Ale ciągle jest Waiting for data. Próbowałem w IP serwera wpisywać jakieś inne IP niż to wifi, ale też nic nie działa. Od strony technicznej wrzucam kod i screeny konfiguracji : #include <stdio.h>#include <stdlib.h>
 #include <string.h>
 #include <arpa/inet.h>
 #include <sys/socket.h>
 
 #define SERWER_PORT 8888
 #define SERWER_IP "192.168.17.128"
 
 int main()
 {
 struct sockaddr_in serwer =
 {
 .sin_family = AF_INET,
 .sin_port = htons( SERWER_PORT )
 };
 if( inet_pton( AF_INET, SERWER_IP, & serwer.sin_addr ) <= 0 )
 {
 perror( "inet_pton() ERROR" );
 exit( 1 );
 }
 
 const int socket_ = socket( AF_INET, SOCK_DGRAM, 0 );
 if(( socket_ ) < 0 )
 {
 perror( "socket() ERROR" );
 exit( 2 );
 }
 
 char buffer[ 4096 ] = { };
 
 socklen_t len = sizeof( serwer );
 if( bind( socket_,( struct sockaddr * ) & serwer, len ) < 0 )
 {
 perror( "bind() ERROR" );
 exit( 3 );
 }
 
 while( 1 )
 {
 struct sockaddr_in client = { };
 
 memset( buffer, 0, sizeof( buffer ) );
 
 printf( "Waiting for connection...\n" );
 if( recvfrom( socket_, buffer, sizeof( buffer ), 0,( struct sockaddr * ) & client, & len ) < 0 )
 {
 perror( "recvfrom() ERROR" );
 exit( 4 );
 }
 printf( "|Message from client|: %s \n", buffer );
 
 char buffer_ip[ 128 ] = { };
 printf( "|Client ip: %s port: %d|\n", inet_ntop( AF_INET, & client.sin_addr, buffer_ip, sizeof( buffer_ip ) ), ntohs( client.sin_port ) );
 
 strncpy( buffer, "Message for client", sizeof( buffer ) );
 
 if( sendto( socket_, buffer, strlen( buffer ), 0,( struct sockaddr * ) & client, len ) < 0 )
 {
 perror( "sendto() ERROR" );
 exit( 5 );
 }
 }
 
 shutdown( socket_, SHUT_RDWR );
 }
 
Zdjęcia:https://i.imgur.com/WX2URFa.png/https://i.imgur.com/W13H2We.png | 
|  | 
| darko202 | » 2018-04-18 09:56:59 | 
|  | 
| « 1 » |