728x90

컴퓨터 25

Network] TCP 기반 클라이언트 프로그램 주요 함수

connect Function 서버와 통신을 위한 연결(세션)을 생성연결할 서버의 주소 정보를 설정해야 함 int connect(int sockfd, const struct sockaddr* addr, socklen_t addrlen);return 0(success), -1(fail) - sockfd : 서버에 연결 요청하기 위한 클라이언트 소켓 디스크립터- addr : 연결할 서버의 주소 정보가 설정된 구조체- addrlen : addr의 크기 read Function 전송된 메세지를 수신하기 위해 사용LINUX에서는 소켓이나 파일을 동일한 타입의 디스크립터로 정의하므로 데이터 수신할 때 사용 가능 ssize_t read(int fd, void* buf, size_t nbytes);성공 : 읽은 데이터..

Network] TCP 기반 서버 프로그램 주요 함수

bind Function listen function에서 사용할 server socket의 서버 주소 정보 설정서버 주소 정보를 두 번째 인자 addr을 통해 전달 가능 int bind(int sockfd, const struct sockaddr* addr, socklen_t addrlen);return 0(success) or 1(fail) - sockfd : 주소를 할당할 서버 소켓 디스크립터- addr : 서버 주소 정보를 담은 구조체(IP Address, Port Number, etc..) listen Function 클라이언트의 연결 요청을 수신하기 위한 서버 소켓 지정'연결 요청 대기 큐' 생성 int listen(int sockfd, int backlog);return 0(success) o..

Arduino] 7세그먼트 사용하기

세그먼트 자체에 대한 이해도 필요했고, 캐소드식과 애노드식에 대한 이해도 필요해서 꽤 오래 걸렸습니다. 어젯밤에 진짜 삽질해가지고, 작동은 커녕 아두이노 기판을 못 쓸 지경으로 만들 뻔했습니다. 회로에 대해서 최소한의 지식이 있다고 생각은 했는데, 정말 만행을 저질러서.. 새벽에 일어나서 회로를 보고 다시 적용해서 작동하는데 성공했습니다. 지금 당장 아두이노를 해보면서 느끼는 건 코딩쪽에서의 애로사항보다는 회로쪽에서 애로사항이 더 많습니다. 최소한의 지식마저도 없이 접근하면 합선이 발생해 기판이 고장나는 것과 같은 문제가 발생하겠구나 싶었습니다. 저도 배우는 입장이라, 직접 해보면서 많이 배웁니다. 기껏해봐야 LED, 부저, 세그먼트, 온도센서 이 네 가지밖에 안 건드렸는데도, 꽤나 배운게 많습니다. 1..

C,C++] Strlen와 동일한 기능을 하는 함수 구현

사실 함수 구현이라고 적어두긴 했으나,strlen과 비슷한 함수를 작성한 것 뿐이며,포인터를 이용하거나 하지 않았기 때문에,사용자가 정의한 함수라고 보기도 어렵다.그저 이러이러한 논리로 strlen과 비슷할 것이다가 전부일 뿐이므로, 오해는 금물이다.이 소스를 int str_len(char *s)와 같은 함수를 이용하여 strlen함수와 유사하게 만들 수 있다. 12345678910111213141516#include #include using namespace std; int main(){ char str[40] = "Make String Library Function"; int func, i = 0; func = strlen(str); while (str[i] != 0) i++; cout

Arduino] 부저 사용

부저를 0.05초 가량 울리고, 동시에 그 시간 동안 LED도 점등한 뒤, 나머지 0.95초에는 LED와 부저가 작동하지 않는 소스입니다. 사실상 1초에 1회 부저가 울린다고 보면 되고, 그에 따라 LED도 같이 깜빡거립니다. 1234567891011121314151617#define BUZ 11#define LED 8void setup() { // put your setup code here, to run once: pinMode(BUZ,OUTPUT); pinMode(LED,OUTPUT);} void loop() { // put your main code here, to run repeatedly: digitalWrite(BUZ,HIGH); digitalWrite(LED,HIGH); delay(50);..

728x90