Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare
Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare
Abbiamo messo alla prova il drone Antigravity A1 capace di riprese in 8K a 360° che permette un reframe in post-produzione ad eliche ferme. Il concetto è molto valido, permette al pilota di concentrarsi sul volo e le manovre in tutta sicurezza e decidere con tutta tranquillità come gestire le riprese. La qualità dei video, tuttavia, ha bisogno di uno step in più per essere competitiva
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator
Dopo oltre 4 anni si rinnova la serie Sony Alpha 7 con la quinta generazione, che porta in dote veramente tante novità a partire dai 30fps e dal nuovo sensore partially stacked da 33Mpixel. L'abbiamo provata per un breve periodo, ecco come è andata dopo averla messa alle strette.
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1
realme e Aston Martin Aramco F1 Team si sono (ri)unite dando alla vita un flagship con chip Snapdragon 8 Elite Gen 5 e design esclusivo ispirato alle monoposto di Formula 1. La Dream Edition introduce la nuova colorazione Lime Essence abbinata al tradizionale Aston Martin Racing Green, decorazioni intercambiabili personalizzate e una confezione a tema F1, intorno a uno smartphone dall'ottima dotazione tecnica con batteria da 7000mAh ricaricabile a 120W e isola fotografica intercambiabile
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 06-03-2009, 12:44   #1
jarno
Member
 
Iscritto dal: Sep 2006
Messaggi: 64
[C] scambio di stringhe tra client e server

Ciao a tutti,

ho creato un server e un client in C. La mia prima prova è quella di spedire dal client al server due interi e il server risponde al client con la somma dei due addendi. E tutto ciò funziona perfettamente.
Il mio prossimo quesito sarebbe quello di inviare al server una parola ("CIAO") e il server risponda al client con un altra parola("UH?") e una volta risposto chiuda il canale.

Ora posto solo il codice senza i collegamenti tra client e server, i quali sono funzionanti:

lato server:

Codice:
static void add_server (int connfd)
{
  char buf[MAXBUFL];
  size_t n;
 char a;

  while ((n = Readline (connfd, buf, sizeof(buf)-1)) > 0)
  {
    char a;
    buf[n] = '\0';
    if (sscanf(buf,"%c",a) == "CIAO")
      snprintf (buf, sizeof(buf), "HU?\r\n");
    else
      snprintf (buf, sizeof(buf), "Parola sbagliata\r\n", a);
    Writen (connfd, buf, strlen(buf));
    exit(0);
  }

lato client:

Codice:
static void add_client (int sockfd)
{
  ssize_t n;
  char buf[MAXBUFL+1];
char a;
  

  while ( (n = Readline(0,buf,sizeof(buf))) > 0)
  {
    Writen (sockfd, buf, n);
    if ( (n = Readline(sockfd,buf,sizeof(buf))) > 0)
     Writen (1, buf, n);
    else
      err_quit("(%s) error - unexpected EOF from server", prog);
  }
}
}
e quando compilo e lancio il tutto mi da questo errore:
error - unexpected EOF from server


Come potrei fare questo esercizio?
Dovrei inviare una parola e riceverne una di risposta.

Grazie in anticipo

Ultima modifica di jarno : 09-03-2009 alle 21:08.
jarno è offline   Rispondi citando il messaggio o parte di esso
Old 09-03-2009, 11:48   #2
jarno
Member
 
Iscritto dal: Sep 2006
Messaggi: 64
nessuno?
jarno è offline   Rispondi citando il messaggio o parte di esso
Old 09-03-2009, 14:27   #3
agente mm8
Senior Member
 
Iscritto dal: Mar 2008
Messaggi: 401
Per favore usa i tag code, poi vedremo di risolvere insieme il problema
agente mm8 è offline   Rispondi citando il messaggio o parte di esso
Old 09-03-2009, 16:38   #4
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Devi usare le parentesi quadre.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 10-03-2009, 20:11   #5
jarno
Member
 
Iscritto dal: Sep 2006
Messaggi: 64
ho modificato i programmi, ma al posto di riceve la stringa desiderata(inviata dal server) ricevo una serie di caratteri random (anche se poi sono sempre le stesse, quindi tanto random non sono)

lato client

Codice:
#include <sys/types.h>
#include <sys/socket.h>
//"in" per "sockaddr_in"
#include <netinet/in.h>
//"netdb" per "gethostbyname"
#include <netdb.h>
#include <stdio.h>
#include <string.h>

#define MAX 16

int main(void)
{
	int r_value;
	int sd;
	struct sockaddr_in server;
	int server_dim;

	sd=socket(AF_INET,SOCK_STREAM,0);
	server_dim=sizeof(struct sockaddr_in);
	server.sin_family=AF_INET;
	server.sin_port=htons(9999);
	server.sin_addr.s_addr=inet_addr("127.0.0.1");
	r_value=connect(sd,(struct sockaddr *)&server,server_dim);
	if(r_value==0)
	{
		printf("Connessione avvenuta\n");
	}
	if(r_value==-1)
	{
	printf("Non è stato possibile effettuare una connessione\n");
	exit(-1);
	}

	char buf[MAX];
	int rec;

	 rec=recv(sd,&buf,MAX,0);
	 if(rec<0)
		 printf("Errore ricezione\n");
	 printf("Ricezione avvenuta\n");
	
		 
	 printf("Ricevuto saluto \"%s\"\n", buf);


close(sd); 
	 
	
}


lato server

Codice:
#include <sys/types.h>
#include <sys/socket.h>
//"in" per "sockaddr_in"
#include <netinet/in.h>
//"fcntl" per la funzione "fcntl"
#include <fcntl.h>
#include <stdio.h>
#include <string.h>

#define MAX 16

int main(void)
{
	int r_val;
	int sd,cd;
	struct sockaddr_in server,client;
	int server_dim,client_dim;

	sd=socket(AF_INET,SOCK_STREAM,0);
	server_dim=sizeof(struct sockaddr_in);
	server.sin_family=AF_INET;
	server.sin_port=htons(9999);
	server.sin_addr.s_addr=INADDR_ANY;
	r_val=bind(sd,(struct sockaddr *)&server,server_dim);
	if(r_val==-1)
	{
		printf("Impossibile aprire una porta in ascolto\n");
		exit(-1);
	}
	listen(sd,5);

	cd=accept(sd,(struct sockaddr *)&client,&client_dim);
	if(cd==-1)
	{
		printf("Impossibile aprire una connessione di ingresso\n");
		exit(-2);
	}
	if((r_val==0) && (cd==0))
	{
		printf("Connessione avvenuta\n");
	}






	char buf[MAX];
	strcpy(buf,"aiaooo");
	send(sd,buf,strlen(buf), 0);
	printf("%s\n",buf); 


close(sd); 
	
	
}
jarno è offline   Rispondi citando il messaggio o parte di esso
Old 11-03-2009, 00:47   #6
jarno
Member
 
Iscritto dal: Sep 2006
Messaggi: 64
risolto...avevo sbagliato il socket del client server, era cd e non sd
jarno è offline   Rispondi citando il messaggio o parte di esso
Old 11-03-2009, 00:49   #7
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
L'errore è qui:

rec=recv(sd,&buf,MAX,0);
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare Antigravity A1: drone futuristico per riprese a ...
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator Sony Alpha 7 V, anteprima e novità della ...
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1 realme GT 8 Pro Dream Edition: prestazioni da fl...
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum OVHcloud Summit 2025: le novità del cloud...
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI C...
Addio definitivo alla GeForce GTX 1080: ...
Numeri record per gli iPhone 17: Apple s...
L'Italia del 2025 raccontata da Google: ...
Piaggio lancia Porter NPE, il pick-up el...
Xiaomi L1 a 153€: il proiettore smart 10...
Dopo Amazon, anche il data center di Gro...
Scoppia il caso Meta AI: l'Europa apre u...
Torna in sconto dopo mesi il super table...
Ricarica elettrica senza cavi: in Svizze...
iPhone SE (2016) entra ufficialmente nel...
The God Slayer: Pathea svela il nuovo op...
Spotify Wrapped 2025: il nuovo Wrapped P...
Offerte OPPO per Natale 2025: i migliori...
ROG Matrix RTX 5090: la GPU gaming pi&ug...
AMD, Cisco e HUMAIN: una joint venture p...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 15:56.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v