【发布时间】:2014-06-04 20:38:05
【问题描述】:
我正在用 C 编写一个小客户端,它将三个字符串发送到远处的服务器。例如我发送“FOO”、“BAR”、“FOOBAR”在另一边收到“FOOBARFOOBAR”、“null”、“null”。
这是我的客户代码:
#include<stdio.h> //printf
#include<string.h> //strlen
#include<sys/socket.h> //socket
#include<arpa/inet.h> //inet_addr
int main(int argc , char *argv[])
{
int sock;
struct sockaddr_in server;
char message[1000];
//socket Erstellen
sock = socket(AF_INET , SOCK_STREAM , 0);
if (sock == -1)
{
printf("Socket konnte nicht Erstellt werden\n");
}
puts("Socket erstellt\n");
server.sin_addr.s_addr = inet_addr("194.94.82.231"); //Server Adressee
server.sin_family = AF_INET; //Typ
server.sin_port = htons( 7896 ); //Port
//Zum Server Verbinden
if (connect(sock , (struct sockaddr *)&server , sizeof(server)) < 0)
{
perror("Verbindung Fehlgeschlagen!\n");
return 1;
}
puts("Verbunden\n");
/*Eingaben die zum Server gesendet werden sollen*/
int n=0;
printf("message : ");
scanf("%s" , message);
n = write(sock , message , strlen(message));
if (n < 0)
printf("ERROR writing to socket");
printf("message 2: ");
scanf("%s" , message);
n = write(sock , message , strlen(message));
if (n < 0)
printf("ERROR writing to socket");
printf("message 3: ");
scanf("%s" , message);
n = write(sock , message , strlen(message));
if (n < 0)
printf("ERROR writing to socket");
puts("\nFertig\n");
close(sock);
return 0;
}
【问题讨论】: