tcp 통신 과정은 서버 시간을 얻는 것을 예로 한다
include
include
include
include
include
include
include
include
include
define MAX_LISTEN_QUE 5
server.c
include "socket_includes.h"
int main(int argc, char *argv[]) { int listenfd, sockfd, opt = 1; struct sockaddr_in server, client; char buf[200]; socklen_t len; time_t timep; int ret; listenfd = socket(AF_INET, SOCK_STREAM, 0);
if(listenfd < 0){ perror("Create socket fail."); return -1; } if((ret = setsockopt(listenfd, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt))) < 0){
perror("Error, set socket reuse addr failed");
return -1;
} bzero(&server, sizeof(server));
server.sin_family = AF_INET; server.sin_port = htons(8888); server.sin_addr.s_addr = htonl(INADDR_ANY); len = sizeof(struct sockaddr);
if(bind(listenfd, (struct sockaddr *)&server, len)<0){ perror("bind error."); return -1; } listen(listenfd, MAX_LISTEN_QUE);
while(1)
{
sockfd = accept(listenfd, (struct sockaddr *)&client, &len);
if(sockfd < 0){
perror("accept error.");
return -1;
}
timep = time(NULL);
snprintf(buf, sizeof(buf), "%s", ctime(&timep));
write(sockfd, buf, strlen(buf));
printf("Bytes:%lu
", strlen(buf));
printf("sockfd=%d
", sockfd);
close(sockfd);
}
return 0;
}
include "socket_includes.h"
int main(int argc, char *argv[]) { int sockfd; struct sockaddr_in servaddr; char buf[100]; int bytes; if(( sockfd = socket(AF_INET,SOCK_STREAM,0)) < 0 )
{
perror("socket error");
return -1;
}
bzero(&servaddr, sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_addr.s_addr= inet_addr("127.0.0.1");
servaddr.sin_port = htons(8888);
if( connect(sockfd,(struct sockaddr*)&servaddr,sizeof(servaddr)) < 0 )
{
perror("connect error");
return 0;
}
bytes = read(sockfd, buf, 100);
if(bytes < 0){
printf("Error, read failed.
");
return -1;
}
if(0 == bytes){
printf("Server close connection.
");
return -1;
}
printf("Read bytes %d
", bytes);
printf("Time:%s
", buf);
close(sockfd);
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSON
JSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다.
그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다.
저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
include
include
include
include
include
include
include
define MAX_LISTEN_QUE 5
server.c
include "socket_includes.h"
int main(int argc, char *argv[]) { int listenfd, sockfd, opt = 1; struct sockaddr_in server, client; char buf[200]; socklen_t len; time_t timep; int ret; listenfd = socket(AF_INET, SOCK_STREAM, 0);
if(listenfd < 0){ perror("Create socket fail."); return -1; } if((ret = setsockopt(listenfd, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt))) < 0){
perror("Error, set socket reuse addr failed");
return -1;
} bzero(&server, sizeof(server));
server.sin_family = AF_INET; server.sin_port = htons(8888); server.sin_addr.s_addr = htonl(INADDR_ANY); len = sizeof(struct sockaddr);
if(bind(listenfd, (struct sockaddr *)&server, len)<0){ perror("bind error."); return -1; } listen(listenfd, MAX_LISTEN_QUE);
while(1)
{
sockfd = accept(listenfd, (struct sockaddr *)&client, &len);
if(sockfd < 0){
perror("accept error.");
return -1;
}
timep = time(NULL);
snprintf(buf, sizeof(buf), "%s", ctime(&timep));
write(sockfd, buf, strlen(buf));
printf("Bytes:%lu
", strlen(buf));
printf("sockfd=%d
", sockfd);
close(sockfd);
}
return 0;
}
include "socket_includes.h"
int main(int argc, char *argv[]) { int sockfd; struct sockaddr_in servaddr; char buf[100]; int bytes; if(( sockfd = socket(AF_INET,SOCK_STREAM,0)) < 0 )
{
perror("socket error");
return -1;
}
bzero(&servaddr, sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_addr.s_addr= inet_addr("127.0.0.1");
servaddr.sin_port = htons(8888);
if( connect(sockfd,(struct sockaddr*)&servaddr,sizeof(servaddr)) < 0 )
{
perror("connect error");
return 0;
}
bytes = read(sockfd, buf, 100);
if(bytes < 0){
printf("Error, read failed.
");
return -1;
}
if(0 == bytes){
printf("Server close connection.
");
return -1;
}
printf("Read bytes %d
", bytes);
printf("Time:%s
", buf);
close(sockfd);
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSON
JSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다.
그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다.
저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
include
include
include
include
include
define MAX_LISTEN_QUE 5
server.c
include "socket_includes.h"
int main(int argc, char *argv[]) { int listenfd, sockfd, opt = 1; struct sockaddr_in server, client; char buf[200]; socklen_t len; time_t timep; int ret; listenfd = socket(AF_INET, SOCK_STREAM, 0);
if(listenfd < 0){ perror("Create socket fail."); return -1; } if((ret = setsockopt(listenfd, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt))) < 0){
perror("Error, set socket reuse addr failed");
return -1;
} bzero(&server, sizeof(server));
server.sin_family = AF_INET; server.sin_port = htons(8888); server.sin_addr.s_addr = htonl(INADDR_ANY); len = sizeof(struct sockaddr);
if(bind(listenfd, (struct sockaddr *)&server, len)<0){ perror("bind error."); return -1; } listen(listenfd, MAX_LISTEN_QUE);
while(1)
{
sockfd = accept(listenfd, (struct sockaddr *)&client, &len);
if(sockfd < 0){
perror("accept error.");
return -1;
}
timep = time(NULL);
snprintf(buf, sizeof(buf), "%s", ctime(&timep));
write(sockfd, buf, strlen(buf));
printf("Bytes:%lu
", strlen(buf));
printf("sockfd=%d
", sockfd);
close(sockfd);
}
return 0;
}
include "socket_includes.h"
int main(int argc, char *argv[]) { int sockfd; struct sockaddr_in servaddr; char buf[100]; int bytes; if(( sockfd = socket(AF_INET,SOCK_STREAM,0)) < 0 )
{
perror("socket error");
return -1;
}
bzero(&servaddr, sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_addr.s_addr= inet_addr("127.0.0.1");
servaddr.sin_port = htons(8888);
if( connect(sockfd,(struct sockaddr*)&servaddr,sizeof(servaddr)) < 0 )
{
perror("connect error");
return 0;
}
bytes = read(sockfd, buf, 100);
if(bytes < 0){
printf("Error, read failed.
");
return -1;
}
if(0 == bytes){
printf("Server close connection.
");
return -1;
}
printf("Read bytes %d
", bytes);
printf("Time:%s
", buf);
close(sockfd);
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSON
JSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다.
그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다.
저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
include
include
include
define MAX_LISTEN_QUE 5
server.c
include "socket_includes.h"
int main(int argc, char *argv[]) { int listenfd, sockfd, opt = 1; struct sockaddr_in server, client; char buf[200]; socklen_t len; time_t timep; int ret; listenfd = socket(AF_INET, SOCK_STREAM, 0);
if(listenfd < 0){ perror("Create socket fail."); return -1; } if((ret = setsockopt(listenfd, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt))) < 0){
perror("Error, set socket reuse addr failed");
return -1;
} bzero(&server, sizeof(server));
server.sin_family = AF_INET; server.sin_port = htons(8888); server.sin_addr.s_addr = htonl(INADDR_ANY); len = sizeof(struct sockaddr);
if(bind(listenfd, (struct sockaddr *)&server, len)<0){ perror("bind error."); return -1; } listen(listenfd, MAX_LISTEN_QUE);
while(1)
{
sockfd = accept(listenfd, (struct sockaddr *)&client, &len);
if(sockfd < 0){
perror("accept error.");
return -1;
}
timep = time(NULL);
snprintf(buf, sizeof(buf), "%s", ctime(&timep));
write(sockfd, buf, strlen(buf));
printf("Bytes:%lu
", strlen(buf));
printf("sockfd=%d
", sockfd);
close(sockfd);
}
return 0;
}
include "socket_includes.h"
int main(int argc, char *argv[]) { int sockfd; struct sockaddr_in servaddr; char buf[100]; int bytes; if(( sockfd = socket(AF_INET,SOCK_STREAM,0)) < 0 )
{
perror("socket error");
return -1;
}
bzero(&servaddr, sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_addr.s_addr= inet_addr("127.0.0.1");
servaddr.sin_port = htons(8888);
if( connect(sockfd,(struct sockaddr*)&servaddr,sizeof(servaddr)) < 0 )
{
perror("connect error");
return 0;
}
bytes = read(sockfd, buf, 100);
if(bytes < 0){
printf("Error, read failed.
");
return -1;
}
if(0 == bytes){
printf("Server close connection.
");
return -1;
}
printf("Read bytes %d
", bytes);
printf("Time:%s
", buf);
close(sockfd);
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSON
JSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다.
그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다.
저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
include
define MAX_LISTEN_QUE 5
server.c
include "socket_includes.h"
int main(int argc, char *argv[]) { int listenfd, sockfd, opt = 1; struct sockaddr_in server, client; char buf[200]; socklen_t len; time_t timep; int ret; listenfd = socket(AF_INET, SOCK_STREAM, 0);
if(listenfd < 0){ perror("Create socket fail."); return -1; } if((ret = setsockopt(listenfd, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt))) < 0){
perror("Error, set socket reuse addr failed");
return -1;
} bzero(&server, sizeof(server));
server.sin_family = AF_INET; server.sin_port = htons(8888); server.sin_addr.s_addr = htonl(INADDR_ANY); len = sizeof(struct sockaddr);
if(bind(listenfd, (struct sockaddr *)&server, len)<0){ perror("bind error."); return -1; } listen(listenfd, MAX_LISTEN_QUE);
while(1)
{
sockfd = accept(listenfd, (struct sockaddr *)&client, &len);
if(sockfd < 0){
perror("accept error.");
return -1;
}
timep = time(NULL);
snprintf(buf, sizeof(buf), "%s", ctime(&timep));
write(sockfd, buf, strlen(buf));
printf("Bytes:%lu
", strlen(buf));
printf("sockfd=%d
", sockfd);
close(sockfd);
}
return 0;
}
include "socket_includes.h"
int main(int argc, char *argv[]) { int sockfd; struct sockaddr_in servaddr; char buf[100]; int bytes; if(( sockfd = socket(AF_INET,SOCK_STREAM,0)) < 0 )
{
perror("socket error");
return -1;
}
bzero(&servaddr, sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_addr.s_addr= inet_addr("127.0.0.1");
servaddr.sin_port = htons(8888);
if( connect(sockfd,(struct sockaddr*)&servaddr,sizeof(servaddr)) < 0 )
{
perror("connect error");
return 0;
}
bytes = read(sockfd, buf, 100);
if(bytes < 0){
printf("Error, read failed.
");
return -1;
}
if(0 == bytes){
printf("Server close connection.
");
return -1;
}
printf("Read bytes %d
", bytes);
printf("Time:%s
", buf);
close(sockfd);
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSON
JSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다.
그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다.
저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
server.c
include "socket_includes.h"
int main(int argc, char *argv[]) { int listenfd, sockfd, opt = 1; struct sockaddr_in server, client; char buf[200]; socklen_t len; time_t timep; int ret; listenfd = socket(AF_INET, SOCK_STREAM, 0);
if(listenfd < 0){ perror("Create socket fail."); return -1; } if((ret = setsockopt(listenfd, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt))) < 0){
perror("Error, set socket reuse addr failed");
return -1;
} bzero(&server, sizeof(server));
server.sin_family = AF_INET; server.sin_port = htons(8888); server.sin_addr.s_addr = htonl(INADDR_ANY); len = sizeof(struct sockaddr);
if(bind(listenfd, (struct sockaddr *)&server, len)<0){ perror("bind error."); return -1; } listen(listenfd, MAX_LISTEN_QUE);
while(1)
{
sockfd = accept(listenfd, (struct sockaddr *)&client, &len);
if(sockfd < 0){
perror("accept error.");
return -1;
}
timep = time(NULL);
snprintf(buf, sizeof(buf), "%s", ctime(&timep));
write(sockfd, buf, strlen(buf));
printf("Bytes:%lu
", strlen(buf));
printf("sockfd=%d
", sockfd);
close(sockfd);
}
return 0;
}
include "socket_includes.h"
int main(int argc, char *argv[]) { int sockfd; struct sockaddr_in servaddr; char buf[100]; int bytes; if(( sockfd = socket(AF_INET,SOCK_STREAM,0)) < 0 )
{
perror("socket error");
return -1;
}
bzero(&servaddr, sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_addr.s_addr= inet_addr("127.0.0.1");
servaddr.sin_port = htons(8888);
if( connect(sockfd,(struct sockaddr*)&servaddr,sizeof(servaddr)) < 0 )
{
perror("connect error");
return 0;
}
bytes = read(sockfd, buf, 100);
if(bytes < 0){
printf("Error, read failed.
");
return -1;
}
if(0 == bytes){
printf("Server close connection.
");
return -1;
}
printf("Read bytes %d
", bytes);
printf("Time:%s
", buf);
close(sockfd);
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSON
JSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다.
그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다.
저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
listenfd = socket(AF_INET, SOCK_STREAM, 0);
if((ret = setsockopt(listenfd, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt))) < 0){
perror("Error, set socket reuse addr failed");
return -1;
bzero(&server, sizeof(server));
len = sizeof(struct sockaddr);
listen(listenfd, MAX_LISTEN_QUE);
while(1)
{
sockfd = accept(listenfd, (struct sockaddr *)&client, &len);
if(sockfd < 0){
perror("accept error.");
return -1;
}
timep = time(NULL);
snprintf(buf, sizeof(buf), "%s", ctime(&timep));
write(sockfd, buf, strlen(buf));
printf("Bytes:%lu
", strlen(buf));
printf("sockfd=%d
", sockfd);
close(sockfd);
}
return 0;
int main(int argc, char *argv[]) { int sockfd; struct sockaddr_in servaddr; char buf[100]; int bytes;
if(( sockfd = socket(AF_INET,SOCK_STREAM,0)) < 0 )
{
perror("socket error");
return -1;
}
bzero(&servaddr, sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_addr.s_addr= inet_addr("127.0.0.1");
servaddr.sin_port = htons(8888);
if( connect(sockfd,(struct sockaddr*)&servaddr,sizeof(servaddr)) < 0 )
{
perror("connect error");
return 0;
}
bytes = read(sockfd, buf, 100);
if(bytes < 0){
printf("Error, read failed.
");
return -1;
}
if(0 == bytes){
printf("Server close connection.
");
return -1;
}
printf("Read bytes %d
", bytes);
printf("Time:%s
", buf);
close(sockfd);
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.