C, C++
C, C++ 관련 카테고리
![category 대표 이미지](https://blog.kakaocdn.net/dn/dWcW5z/btsDKdfFVll/efe2rEuS7DIdwREYOeLFyk/img.png)
-
제 경우는, 윈도우11 SourceTree 에서, WSL 프로젝트 경로에 접근시 아래와 같은 에러가 발생했습니다.
SourceTree, failed with code 128제 경우는, 윈도우11 SourceTree 에서, WSL 프로젝트 경로에 접근시 아래와 같은 에러가 발생했습니다.
2024.05.24 -
Snippet 이란?더보기Snippet(스니펫): 작은 정보, 한 토막 프로그래밍 코드, 텍스트 조각 등을 의미합니다. 소스코드를 작성할 때, 자주 사용하는 코드 블록, 코드 패턴, 형식 지정 규칙 등을 정의된 템플릿 형식으로 저장하고 효율적으로 삽입하여 재사용하도록 도와주는 도구입니다 C , Snippet 환경설정더보기{ "c main Function": { "prefix": "!main", "body": [ "#include ", "", "int main(int argc, char **argv)", "{", "\t$1", "\treturn 0;", "}" ], }, "printf": { "prefix"..
VS Code, Snippet 환경설정Snippet 이란?더보기Snippet(스니펫): 작은 정보, 한 토막 프로그래밍 코드, 텍스트 조각 등을 의미합니다. 소스코드를 작성할 때, 자주 사용하는 코드 블록, 코드 패턴, 형식 지정 규칙 등을 정의된 템플릿 형식으로 저장하고 효율적으로 삽입하여 재사용하도록 도와주는 도구입니다 C , Snippet 환경설정더보기{ "c main Function": { "prefix": "!main", "body": [ "#include ", "", "int main(int argc, char **argv)", "{", "\t$1", "\treturn 0;", "}" ], }, "printf": { "prefix"..
2024.05.17 -
Pre-Work.더보기GDB(GNU DeBugger) 설치는 필수입니다. 01. WSL 환경에서 VS Code, C/C++ 환경설정 VS Code, C/C++ 환경설정" data-og-description="MSDN 공식문서, VSCode 공식문서 WSL 환경설정더보기01. WSL 설치 WSL2 환경 설정[WSL 공식문서], [WSL 개발 환경 설정]Step1. 윈도우에서 WSL 활성화더보기Window + S 단축키를 누르면, 검색 기능이 활성화 됩" data-og-host="basiclike.tistory.com" data-og-source-url="https://basiclike.tistory.com/352" data-og-url="https://basiclike.tistory.com/352" dat..
<WSL> VS Code, Debug 환경설정Pre-Work.더보기GDB(GNU DeBugger) 설치는 필수입니다. 01. WSL 환경에서 VS Code, C/C++ 환경설정 VS Code, C/C++ 환경설정" data-og-description="MSDN 공식문서, VSCode 공식문서 WSL 환경설정더보기01. WSL 설치 WSL2 환경 설정[WSL 공식문서], [WSL 개발 환경 설정]Step1. 윈도우에서 WSL 활성화더보기Window + S 단축키를 누르면, 검색 기능이 활성화 됩" data-og-host="basiclike.tistory.com" data-og-source-url="https://basiclike.tistory.com/352" data-og-url="https://basiclike.tistory.com/352" dat..
2024.05.17 -
VSCode 공식문서 Pre-Work.더보기01. WSL 환경설정 WSL2 환경설정[WSL 공식문서], [WSL 개발 환경 설정]Step1. 윈도우에서 WSL 활성화더보기Window + S 단축키를 누르면, 검색 기능이 활성화 됩니다.서검색어로 키워드 입력하면 검색된 를 실행합니다., 체크 ✔ 하여 활basiclike.tistory.com 02. Git 환경설정 Git 환경설정" data-og-description="Pre-work.더보기01. WSL 환경 설정 WSL2 환경설정[WSL 공식문서], [WSL 개발 환경 설정]Step1. 윈도우에서 WSL 활성화더보기Window + S 단축키를 누르면, 검색 기능이 활성화 됩니다.서검색어로 키워드 입력" data-og-host="basiclike.tist..
<WSL> VS Code, Git, GitHub 환경설정VSCode 공식문서 Pre-Work.더보기01. WSL 환경설정 WSL2 환경설정[WSL 공식문서], [WSL 개발 환경 설정]Step1. 윈도우에서 WSL 활성화더보기Window + S 단축키를 누르면, 검색 기능이 활성화 됩니다.서검색어로 키워드 입력하면 검색된 를 실행합니다., 체크 ✔ 하여 활basiclike.tistory.com 02. Git 환경설정 Git 환경설정" data-og-description="Pre-work.더보기01. WSL 환경 설정 WSL2 환경설정[WSL 공식문서], [WSL 개발 환경 설정]Step1. 윈도우에서 WSL 활성화더보기Window + S 단축키를 누르면, 검색 기능이 활성화 됩니다.서검색어로 키워드 입력" data-og-host="basiclike.tist..
2024.05.15 -
Uninstall Visual Studio CodeStep 1. VSCode 프로그램 삭제 Step 2. %APPDATA%\Code 삭제 C:\Users\사용자\AppData\Roaming Step 3. %USERPROFILE%\.vscode 삭제 C:\Users\사용자 Step 5. MinGW-w64 삭제
<Win> VS Code, C/C++ 제거Uninstall Visual Studio CodeStep 1. VSCode 프로그램 삭제 Step 2. %APPDATA%\Code 삭제 C:\Users\사용자\AppData\Roaming Step 3. %USERPROFILE%\.vscode 삭제 C:\Users\사용자 Step 5. MinGW-w64 삭제
2024.05.13 -
VSCode 공식문서Step 1: C/C++ 컴파일러(MinGW-w64)설치더보기Windows OS 에 Linux OS 에서 사용하는 C/C++ 컴파일러인 GCC 를 사용할 수 없습니다.대신, MinGW(Minimalist GNU for Windows)를 설치합니다.컴파일러가 무엇인지 모른다면, 컴파일러, 빌드, 실행, 기계어와 프로그래밍 언어 관계를 먼저 이해합니다. 01. MinGW-w64 인스톨러 설치 프로그램을 다운로드 합니다. ①링크에서 ②최신 Assets▼의 ③msys2-x86_64-XXXXXXXX.exe 네이밍을 가진 실행 파일을 다운 받습니다.업데이트에 따라 년월일을 의미하는 숫자는 다를 수 있습니다. 02. 다운받은 MinGW-w64 인스톨러 설치합니다. @삭제 방법: 설치한..
<Win> VS Code, C/C++ 환경설정VSCode 공식문서Step 1: C/C++ 컴파일러(MinGW-w64)설치더보기Windows OS 에 Linux OS 에서 사용하는 C/C++ 컴파일러인 GCC 를 사용할 수 없습니다.대신, MinGW(Minimalist GNU for Windows)를 설치합니다.컴파일러가 무엇인지 모른다면, 컴파일러, 빌드, 실행, 기계어와 프로그래밍 언어 관계를 먼저 이해합니다. 01. MinGW-w64 인스톨러 설치 프로그램을 다운로드 합니다. ①링크에서 ②최신 Assets▼의 ③msys2-x86_64-XXXXXXXX.exe 네이밍을 가진 실행 파일을 다운 받습니다.업데이트에 따라 년월일을 의미하는 숫자는 다를 수 있습니다. 02. 다운받은 MinGW-w64 인스톨러 설치합니다. @삭제 방법: 설치한..
2024.05.13 -
1. VS Code 제거 VS Code, C/C++ 제거" data-og-description="Uninstall Visual Studio CodeStep 1. VSCode 프로그램 삭제 Step 2. %APPDATA%\Code 삭제 C:\Users\사용자\AppData\Roaming Step 3. %USERPROFILE%\.vscode 삭제 C:\Users\사용자 Step 5. MinGW-w64 삭제" data-og-host="basiclike.tistory.com" data-og-source-url="https://basiclike.tistory.com/348" data-og-url="https://basiclike.tistory.com/348" data-og-image="ht..
<WSL> VS Code, C/C++ 제거1. VS Code 제거 VS Code, C/C++ 제거" data-og-description="Uninstall Visual Studio CodeStep 1. VSCode 프로그램 삭제 Step 2. %APPDATA%\Code 삭제 C:\Users\사용자\AppData\Roaming Step 3. %USERPROFILE%\.vscode 삭제 C:\Users\사용자 Step 5. MinGW-w64 삭제" data-og-host="basiclike.tistory.com" data-og-source-url="https://basiclike.tistory.com/348" data-og-url="https://basiclike.tistory.com/348" data-og-image="ht..
2024.05.03 -
MSDN 공식문서, VSCode 공식문서 WSL 환경설정더보기01. WSL 설치 WSL2 환경 설정[WSL 공식문서], [WSL 개발 환경 설정]Step1. 윈도우에서 WSL 활성화더보기Window + S 단축키를 누르면, 검색 기능이 활성화 됩니다.서검색어로 키워드 입력하면 검색된 를 실행합니다., 체크 ✔ 하여 활basiclike.tistory.com 02. WSL 초기 설정 WSL2 초기 설정패키지 미러 주소를 카카오로 설정 sudo sed -i 's/archive.ubuntu.com/mirror.kakao.com/g' /etc/apt/sources.list 패키지 업데이트, 업그레이드, 불필요한 패키지 자동 제거basiclike.tistory.com 참고) WSL 삭제문제가 생기면 즉시 삭제하고 ..
<WSL> VS Code, C/C++ 환경설정MSDN 공식문서, VSCode 공식문서 WSL 환경설정더보기01. WSL 설치 WSL2 환경 설정[WSL 공식문서], [WSL 개발 환경 설정]Step1. 윈도우에서 WSL 활성화더보기Window + S 단축키를 누르면, 검색 기능이 활성화 됩니다.서검색어로 키워드 입력하면 검색된 를 실행합니다., 체크 ✔ 하여 활basiclike.tistory.com 02. WSL 초기 설정 WSL2 초기 설정패키지 미러 주소를 카카오로 설정 sudo sed -i 's/archive.ubuntu.com/mirror.kakao.com/g' /etc/apt/sources.list 패키지 업데이트, 업그레이드, 불필요한 패키지 자동 제거basiclike.tistory.com 참고) WSL 삭제문제가 생기면 즉시 삭제하고 ..
2024.05.03 -
패키지 시스템, VSCode 공식문서Step 1. Ubuntu에 C/C++ 컴파일러(GCC)설치 더보기우분투에 C/C++ 프로그래밍 언어를 사용하기 위해 GCC 컴파일러와 GDB 디버거를 설치합니다. 개발에 필요한 필수 패키지를 설치한다고 생각하시면 됩니다. 01. 데비안 패키지 리스트 업데이드 && 업그레이드sudo apt-get update && sudo apt-get upgrade -y 02. gcc, gdb 설치 sudo apt-get install build-essential -ybuild-essential 패키지는 데비안 계열의 리눅스 플랫폼에서 개발에 필요한 패키지를 묶어 놓은 것을 의미합니다. build-essential 패키지를 설치하면 GCC, G++ 등 리눅스 개발에 필..
<ubuntu> VS Code, C/C++ 환경설정패키지 시스템, VSCode 공식문서Step 1. Ubuntu에 C/C++ 컴파일러(GCC)설치 더보기우분투에 C/C++ 프로그래밍 언어를 사용하기 위해 GCC 컴파일러와 GDB 디버거를 설치합니다. 개발에 필요한 필수 패키지를 설치한다고 생각하시면 됩니다. 01. 데비안 패키지 리스트 업데이드 && 업그레이드sudo apt-get update && sudo apt-get upgrade -y 02. gcc, gdb 설치 sudo apt-get install build-essential -ybuild-essential 패키지는 데비안 계열의 리눅스 플랫폼에서 개발에 필요한 패키지를 묶어 놓은 것을 의미합니다. build-essential 패키지를 설치하면 GCC, G++ 등 리눅스 개발에 필..
2024.05.03 -
"컴퓨터란 무엇인가요?" 같은 질문을 자주 하는 편이다. 개인적으로, 모든 프로그래밍 기술들은 프로그램을 조금이라도 더 편리하고 효율적으로 개발하기 위해 탄생했다고 생각한다. 그러므로 이러한 기술들을 학습하는 하나의 방법인, 기술이 탄생된 시점에서 어떤 부분이 프로그래밍에 불편했었고 그 문제를 어떤 방식으로 개선했지를 찾아가며 이해하는 방법에 익숙해지길 바래서다. "컴퓨터란 무엇인가요?"란 질문은 "컴퓨터는 어떤 부분을 해결하기 위해 탄생했나요?"와 동일한 질문이다. 개인적으로 개발자라는 직업을 시작하고 싶다면, 아래 질문 정도는 대답할 수 있어야 한다고 생각한다. 하드웨어가 뭔가요? 소프트웨어가 뭔가요? 개발자는 뭐 하는 사람인가요? 그리고 프로그래밍을 공부한다면, "컴퓨터는 무엇인가요?" 로 시작하는..
컴퓨터란 무엇인가?"컴퓨터란 무엇인가요?" 같은 질문을 자주 하는 편이다. 개인적으로, 모든 프로그래밍 기술들은 프로그램을 조금이라도 더 편리하고 효율적으로 개발하기 위해 탄생했다고 생각한다. 그러므로 이러한 기술들을 학습하는 하나의 방법인, 기술이 탄생된 시점에서 어떤 부분이 프로그래밍에 불편했었고 그 문제를 어떤 방식으로 개선했지를 찾아가며 이해하는 방법에 익숙해지길 바래서다. "컴퓨터란 무엇인가요?"란 질문은 "컴퓨터는 어떤 부분을 해결하기 위해 탄생했나요?"와 동일한 질문이다. 개인적으로 개발자라는 직업을 시작하고 싶다면, 아래 질문 정도는 대답할 수 있어야 한다고 생각한다. 하드웨어가 뭔가요? 소프트웨어가 뭔가요? 개발자는 뭐 하는 사람인가요? 그리고 프로그래밍을 공부한다면, "컴퓨터는 무엇인가요?" 로 시작하는..
2023.12.04 -
문자열 IP 주소를 네트워크 바이트 순서(빅 엔디안)로 변환 inet_addr( ) vs inet_aton( ) 사용 sockaddr _in struct sockaddr_in { sa_family_t sin_family; // 주소체계(Address Family) uint16_t sin_port; // 16 비트 Port 번호 struct in_addr sin_addr; // 32 비트 IP주소, 빅 엔디안 char sin_zero[8]; // 사용되지 않음 } IP주소 211.214.107.99와 같은 ‘십진수 표현방식(Dotted Decimal Notation)'을 네트워크 바이트 순서의 IP가 변환한다. 방법 1) inet_addr( ) #include in_addr_t inet_addr(cons..
3.4 IP 초기화문자열 IP 주소를 네트워크 바이트 순서(빅 엔디안)로 변환 inet_addr( ) vs inet_aton( ) 사용 sockaddr _in struct sockaddr_in { sa_family_t sin_family; // 주소체계(Address Family) uint16_t sin_port; // 16 비트 Port 번호 struct in_addr sin_addr; // 32 비트 IP주소, 빅 엔디안 char sin_zero[8]; // 사용되지 않음 } IP주소 211.214.107.99와 같은 ‘십진수 표현방식(Dotted Decimal Notation)'을 네트워크 바이트 순서의 IP가 변환한다. 방법 1) inet_addr( ) #include in_addr_t inet_addr(cons..
2023.12.01 -
Network 네트워크란, : "물리적으로연결되어 있는" 서로 다른 두 컴퓨터가 데이터를 주고 받는 것이다. 주고 받는 데이터는 Byte 단위로 처리되고, bit 단위로 송수신다. bit & Byte 비트란, : 컴퓨터가 데이터를 구성하는 최소 단위는 bit(binary digit)라는 0과 1을 저장하는 2진수 한자리 단위이다. 바이트란, : 컴퓨터가 데이터를 처리하는 최소 단위는 Byte 라는 8bit, 즉 1Byte 단위다. Endianness 엔디안이란, : 컴퓨터의 메모리와 같은 1차원의 공간에 여러 개의 연속된 대상(Byte)이 저장되는 순서(Byte order) 리틀 엔디언 & 빅 엔디언 개념 정리 링크 1 리틀 엔디언 & 빅 엔디언 개념 정리 링크 2 예시1. Decimal to Binar..
3.3 Network Byte Order (&엔디안)Network 네트워크란, : "물리적으로연결되어 있는" 서로 다른 두 컴퓨터가 데이터를 주고 받는 것이다. 주고 받는 데이터는 Byte 단위로 처리되고, bit 단위로 송수신다. bit & Byte 비트란, : 컴퓨터가 데이터를 구성하는 최소 단위는 bit(binary digit)라는 0과 1을 저장하는 2진수 한자리 단위이다. 바이트란, : 컴퓨터가 데이터를 처리하는 최소 단위는 Byte 라는 8bit, 즉 1Byte 단위다. Endianness 엔디안이란, : 컴퓨터의 메모리와 같은 1차원의 공간에 여러 개의 연속된 대상(Byte)이 저장되는 순서(Byte order) 리틀 엔디언 & 빅 엔디언 개념 정리 링크 1 리틀 엔디언 & 빅 엔디언 개념 정리 링크 2 예시1. Decimal to Binar..
2023.12.01 -
전화기에 전화번호라는 유일한 값을 할당하여, "전화기"를 구분합니다. 소켓도 IP와 Port 번호를 할당하여 인터넷 상에서 컴퓨터와 프로그램을 식별합니다. IP Internet Protocol
3.1 IP & Port전화기에 전화번호라는 유일한 값을 할당하여, "전화기"를 구분합니다. 소켓도 IP와 Port 번호를 할당하여 인터넷 상에서 컴퓨터와 프로그램을 식별합니다. IP Internet Protocol
2023.12.01 -
protocol: 규약 family: 체계 socket( ) #include int socket(int domain, int type, int protocol) // 성공시 디스크립터 반환, 실패시 -1 반환 // domain : 소켓이 사용할 프로토콜 체계(Protocol Family) 정보 전달 // type : 소켕의 데이터 정보 전달 방식 // protocol : 두 컴퓨터 간에 통신에 사용되는 프로토콜 정보 전달 int domain 프로토콜 체계(Protocol Family) 이름 정의 PF_INET IPv4인터넷 프로토콜 PF_INET6 IPv6인터넷 프로토콜 PF_LOCAL LOCAL 통신을 위한 UNIX 프로토콜 PF_PACKET Low level socket을 위한 인터페이스 PF_IPX..
2.1 socket & protocolprotocol: 규약 family: 체계 socket( ) #include int socket(int domain, int type, int protocol) // 성공시 디스크립터 반환, 실패시 -1 반환 // domain : 소켓이 사용할 프로토콜 체계(Protocol Family) 정보 전달 // type : 소켕의 데이터 정보 전달 방식 // protocol : 두 컴퓨터 간에 통신에 사용되는 프로토콜 정보 전달 int domain 프로토콜 체계(Protocol Family) 이름 정의 PF_INET IPv4인터넷 프로토콜 PF_INET6 IPv6인터넷 프로토콜 PF_LOCAL LOCAL 통신을 위한 UNIX 프로토콜 PF_PACKET Low level socket을 위한 인터페이스 PF_IPX..
2023.11.29 -
InetPtonW 함수(ws2tcpip.h) - Win32 apps | Microsoft Learn InetPtonW 함수(ws2tcpip.h) - Win32 apps InetPton 함수는 표준 텍스트 프레젠테이션 형식의 IPv4 또는 IPv6 인터넷 네트워크 주소를 숫자 이진 형식으로 변환합니다. 이 함수의 ANSI 버전은 inet_pton. (InetPtonW) learn.microsoft.com InetPton InetPtonW
[Win] Warning C4013 'inet_pton' undefinedInetPtonW 함수(ws2tcpip.h) - Win32 apps | Microsoft Learn InetPtonW 함수(ws2tcpip.h) - Win32 apps InetPton 함수는 표준 텍스트 프레젠테이션 형식의 IPv4 또는 IPv6 인터넷 네트워크 주소를 숫자 이진 형식으로 변환합니다. 이 함수의 ANSI 버전은 inet_pton. (InetPtonW) learn.microsoft.com InetPton InetPtonW
2023.11.29 -
소켓 통신 프로그래밍 내부적으로 Socket 표준을 기반으로 조금 더 편리하게 사용하도록 발전된 형태의 라이브러리들에 불과하다. API / 클래스 설명 제공 기능 OS/PL Unix Socket API 네트워크 표준 API Low Level 의 소켓 프로그래밍 TCP, UDP 등 다양한 네트워크에 사용 Unix(+ Ubuntu, Redhat..) Window WinSock2 API Socket API 윈도우 버전 Window(C/C++) C# .NET Sockets WinSock2 API C# 버전 Sockets 닷넷은 WinSock2 API 호출 Window(C#) TcpClient 내부적으로 Sockets 클래스 사용 TCP, UDP 전용 TcpListner UdpClient 윈도우 소켓 실행 흐름 ..
[Win] winsock소켓 통신 프로그래밍 내부적으로 Socket 표준을 기반으로 조금 더 편리하게 사용하도록 발전된 형태의 라이브러리들에 불과하다. API / 클래스 설명 제공 기능 OS/PL Unix Socket API 네트워크 표준 API Low Level 의 소켓 프로그래밍 TCP, UDP 등 다양한 네트워크에 사용 Unix(+ Ubuntu, Redhat..) Window WinSock2 API Socket API 윈도우 버전 Window(C/C++) C# .NET Sockets WinSock2 API C# 버전 Sockets 닷넷은 WinSock2 API 호출 Window(C#) TcpClient 내부적으로 Sockets 클래스 사용 TCP, UDP 전용 TcpListner UdpClient 윈도우 소켓 실행 흐름 ..
2023.11.29 -
환경설정 ws2_32.lib 라이브러리 추가 VS2013이상 솔루션 → 프로젝트 → 속성 → 구성 속성 → 링커 → 입력 → 추가 종속성 → ws2_32.lib 추가 Server_Window #include #include #include #include void ErrorHandling(char* message); int main(int argc, char* argv[]) { WSADATAwsaData; SOCKET hServSock, hClntSock; SOCKADDR_IN servAddr, clntAddr; int szClntAddr; char message[] = "Hello World!"; if (argc != 2) { printf("Usage : %s \n", argv[0]); exit(1);..
[Win]환경설정 ws2_32.lib 라이브러리 추가 VS2013이상 솔루션 → 프로젝트 → 속성 → 구성 속성 → 링커 → 입력 → 추가 종속성 → ws2_32.lib 추가 Server_Window #include #include #include #include void ErrorHandling(char* message); int main(int argc, char* argv[]) { WSADATAwsaData; SOCKET hServSock, hClntSock; SOCKADDR_IN servAddr, clntAddr; int szClntAddr; char message[] = "Hello World!"; if (argc != 2) { printf("Usage : %s \n", argv[0]); exit(1);..
2023.11.28 -
파일 디스크립터(File Descriptor) *Linux의 File Descriptor 는, Window에서 handle에 해당한다. 파일 디스크립터란, C 언어와 같은 프로그래밍 언어가 아닌 시스템(OS)에 의해 관리되는 일련의 정수값으로 파일 또는 소켓의 식별에 사용된다. 윈도우는 파일과 소켓을 구분한다. ▶ UNIX에서 파일을 새로 열면(open) int 타입의 정수를 리턴하는데, 이는 파일 기술자 테이블(file descriptor table) 의 index 번호다. ▶ 예를들어, 2개의 파일을 open하면 파일 기술자는 3과 4가 배정되며, 소켓을 생성하면 파일 기술자와 똑같은 기능과 역할을 하는 소켓 기술자(socket descriptor)가 리턴된다. 즉, 파일과 소켓이 기술자 테이블을 공..
1.4 File Descriptor파일 디스크립터(File Descriptor) *Linux의 File Descriptor 는, Window에서 handle에 해당한다. 파일 디스크립터란, C 언어와 같은 프로그래밍 언어가 아닌 시스템(OS)에 의해 관리되는 일련의 정수값으로 파일 또는 소켓의 식별에 사용된다. 윈도우는 파일과 소켓을 구분한다. ▶ UNIX에서 파일을 새로 열면(open) int 타입의 정수를 리턴하는데, 이는 파일 기술자 테이블(file descriptor table) 의 index 번호다. ▶ 예를들어, 2개의 파일을 open하면 파일 기술자는 3과 4가 배정되며, 소켓을 생성하면 파일 기술자와 똑같은 기능과 역할을 하는 소켓 기술자(socket descriptor)가 리턴된다. 즉, 파일과 소켓이 기술자 테이블을 공..
2023.11.28 -
// Server #include #include #include #include #include #include void error_handling(char *message); int main(int argc, char *argv[]) { int serv_sock; int clnt_sock; struct sockaddr_in serv_addr; struct sockaddr_in clnt_addr; socklen_t clnt_addr_size; char message[]="Hello World!"; if(argc!=2){ printf("Usage : %s \n", argv[0]); exit(1); } serv_sock=socket(PF_INET, SOCK_STREAM, 0); if(serv_sock ==..
1.3 Source Code// Server #include #include #include #include #include #include void error_handling(char *message); int main(int argc, char *argv[]) { int serv_sock; int clnt_sock; struct sockaddr_in serv_addr; struct sockaddr_in clnt_addr; socklen_t clnt_addr_size; char message[]="Hello World!"; if(argc!=2){ printf("Usage : %s \n", argv[0]); exit(1); } serv_sock=socket(PF_INET, SOCK_STREAM, 0); if(serv_sock ==..
2023.11.28 -
서버 소켓 프로그래밍 (Server) 1. 서버 소켓 생성 소켓(socket)은 서버와 클라이언트가 동일한 형태다. #include int socket(int domain, int type, int protocol) // 성공시 파일 디스크립터 반환, 실패시 -1 반환 2. 서버 소켓 결합 서버에서 생성된 소켓(Server Socket)에 서버가 사용할 IP주소, Port번호를 결합(bind)시킨다. #include int bind(int sockfd, struct sockaddr *myaddr, socklen_t adrlen); // 성공시 0, 실패시 -1 3. 서버의 클라이언트 연결 요청 대기 listen( )의 역할은, 바인딩된 서버 소켓(Server Socket)으로 수신될 외부 클라이언트의 c..
1.2 Server Client서버 소켓 프로그래밍 (Server) 1. 서버 소켓 생성 소켓(socket)은 서버와 클라이언트가 동일한 형태다. #include int socket(int domain, int type, int protocol) // 성공시 파일 디스크립터 반환, 실패시 -1 반환 2. 서버 소켓 결합 서버에서 생성된 소켓(Server Socket)에 서버가 사용할 IP주소, Port번호를 결합(bind)시킨다. #include int bind(int sockfd, struct sockaddr *myaddr, socklen_t adrlen); // 성공시 0, 실패시 -1 3. 서버의 클라이언트 연결 요청 대기 listen( )의 역할은, 바인딩된 서버 소켓(Server Socket)으로 수신될 외부 클라이언트의 c..
2023.11.28