TCP/IP通信型電話番号検索プログラムを作りたいです。
TCP/IP通信型電話番号検索プログラムを作りたいです。
クライアントは以下のようで大丈夫みたいなのですが、サーバの方を修正しなければなりません。
この質問で「TCP/IP通信型大文字・小文字変換プログラム」を発見しました。
サーバー側プログラム
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <unistd.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#define SOCK_NAME "./socket"
int main()
{
int i;
int fd1, fd2;
struct sockaddr_in saddr;
struct sockaddr_in caddr;
int len;
int ret;
char buf[1024];
if((fd1 =socket(AF_INET, SOCK_STREAM, 0)) < 0 ){
perror("socket");
exit(1);
}
memset((char *)&saddr, 0, sizeof(saddr));
saddr.sin_family = AF_INET;
saddr.sin_addr.s_addr=INADDR_ANY;
saddr.sin_port=htons(1357);
unlink(SOCK_NAME);
if(bind(fd1, (struct sockaddr *)&saddr, sizeof(saddr)) < 0) {
perror("bind");
exit(1);
}
if(listen(fd1,5) < 0 ) {
perror("listen");
exit(1);
}
while(1){
len = sizeof(caddr);
if((fd2 = accept(fd1, (struct sockaddr *)&caddr, &len)) < 0){
perror("accept");
exit(1);
}
fprintf(stderr, "Connection established: socket %d used.\n", fd2);
while((ret = read(fd2, buf, 1024)) > 0 ){
fprintf(stderr, "read: &s\n", buf);
for(i=0; i<ret; i++)
if(islower(buf[i]))
buf[i] = toupper(buf[i]);
if(isupper(buf[i]))
buf[i] = tolower(buf[i]);
fprintf(stderr, "write: %s\n", buf);
write(fd2, buf, 1024);
}
close(fd2);
}
close(fd1);
return 0;
}
先生によると、クライアントは同じもので良いそうです。
誰か、助けて下さい。
お礼
回答どうもありがとうございました。 「create」を「creat」に変更すると、 何ともあっけなく解決致しました。