Okay... ho sviluppato un client... solo che non mi ritorna niente, anche perchè su SEND ho trovato solo un piccolo esempio e non una guida + approfondita... in più il server non mi ritorna niente...
codice:
// Including required headers
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
#include <stdio.h>
#include <unistd.h>
// Constants
#define MAX_MSG 1024
#define PORT 1991
#define PROTOCOL PF_INET
#define TYPE SOCK_STREAM
#define FAMILY AF_INET
int main (int argc, char *argv[])
{
// Variables and Structures
struct sockaddr_in localAddr, servAddr;
struct hostent * host;
// Opening a socket stream: int socket(int domain, int type, int protocol)
int sockfd = socket(PROTOCOL, TYPE, 0);
// Control for incoming socket
if(sockfd <= 0) perror("Cannot create socket");
// Adjusting variables in structure - local
localAddr.sin_family = FAMILY;
localAddr.sin_addr.s_addr = htonl(INADDR_ANY);
localAddr.sin_port = htons(1990);
// Assign a local address to a socket: int bind(int sockfd, const struct sockaddr *serv_addr, socklen_t addrlen)
int bindc = bind(sockfd, (struct sockaddr *) &localAddr, sizeof(localAddr));
// Control for bind
if(bindc < 0) perror("Cannot bind socket");
// Adjusting variables in structure - server
host = gethostbyname("127.0.0.1");
servAddr.sin_family = host->h_addrtype;
servAddr.sin_port = htons(PORT);
// Connecting to server socket: int connect(int sockfd, const struct sockaddr *servaddr, socklen_t addrlen)
int connectc = connect(sockfd, (struct sockaddr *) &servAddr, sizeof(servAddr));
// Control for bind
if(connectc < 0) perror("Cannot connect to socket");
// Sending data to server: int send(int sockfd, const struct sockaddr *servaddr, socklen_t addrlen);
int sendc = send(sockfd, "test", strlen("test") + 1, 0);
// Control for bind
if(sendc < 0) perror("Cannot send data to socket");
}
Voi che dite?