int main(void) { int sfd, bytes, ret; char src_host[128], src_service[7], buf[16]; src_host[127] = 0; src_service[6] = 0; sfd = create_inet_server_socket("0.0.0.0","1234",UDP,IPv4,0); if ( -1 == sfd ) { perror("couldn't create server\n"); exit(1); } printf("Socket up and running\n"); while ( 1 ) { memset(buf,0,16); ret = bytes = recvfrom_inet_dgram_socket(sfd,buf,15,src_host,127,src_service,6,0,NUMERIC); if ( ret < 0 ) { perror(0); exit(1); } ret = sendto_inet_dgram_socket(sfd,buf,bytes,src_host,src_service,0); if ( ret < 0 ) { perror(0); exit(1); } printf("Connection from %s port %s: %s (%i)\n",src_host,src_service,buf,bytes); printf("Connection processed\n"); } ret = destroy_inet_socket(sfd); if ( ret < 0 ) { perror(0); exit(1); } return 0; }
int main(void) { int cfd, sfd, ret; char* buf = calloc(16,1); ret = sfd = create_inet_server_socket("::","55555",LIBSOCKET_TCP,LIBSOCKET_IPv6,0); if ( ret < 0 ) { perror(0); exit(1); } ret = cfd = accept_inet_stream_socket(sfd,0,0,0,0,0,0); if ( ret < 0 ) { perror(0); exit(1); } ret = read(cfd,buf,15); if ( ret < 0 ) { perror(0); exit(1); } printf("%s\n",buf); ret = destroy_inet_socket(sfd); if ( ret < 0 ) { perror(0); exit(1); } return 0; }
int main(void) { int sfd, ret; char buf[16]; memset(buf,0,16); ret = sfd = create_inet_dgram_socket(IPv4,0); if ( ret < 0 ) { perror(0); exit(1); } ret = connect_inet_dgram_socket(sfd,"localhost","1234"); if ( ret < 0 ) { perror(0); exit(1); } ret = write(sfd,"abcde",5); if ( ret < 0 ) { perror(0); exit(1); } sleep(2); //read(sfd,buf,5); // We may use the recvfrom/sendto routines also on connected sockets ret = recvfrom_inet_dgram_socket(sfd,buf,16,0,0,0,0,0,0); if ( ret < 0 ) { perror(0); exit(1); } ret = write(1,buf,5); if ( ret < 0 ) { perror(0); exit(1); } ret = destroy_inet_socket(sfd); if ( ret < 0 ) { perror(0); exit(1); } return 0; }