SPRING :: NOTE
MainActivity.java package com.example.sockest; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.net.Socket; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.EditText; import android.widget.Toast; p..
error LNK2019: __imp__closesocket@4 외부 기호(참조 위치: _main 함수)에서 확인하지 못했습니다.error LNK2019: __imp__connect@12 외부 기호(참조 위치: _main 함수)에서 확인하지 못했습니다.error LNK2019: __imp__htons@4 외부 기호(참조 위치: _main 함수)에서 확인하지 못했습니다.error LNK2019: __imp__inet_addr@4 외부 기호(참조 위치: _main 함수)에서 확인하지 못했습니다.error LNK2019: __imp__recv@16 외부 기호(참조 위치: _main 함수)에서 확인하지 못했습니다.error LNK2019: __imp__send@16 외부 기호(참조 위치: _main 함수)에서 ..
F9 현재 라인에 Breakpoint를 지정/해제 Ctrl + Shift + F9 현재 Edit하고 있는 소스파일에 지정된 모든 Breakpoint 해제 Ctrl + ] '{'괄호의 짝을 찾아줌 ('{'에 커서를 놓고 눌러야 함} Ctrl + J, K #ifdef 와 #endif의 짝을 찾아줌 Ctrl + L 한 라인을 클립보드로 잘라내기 (Cut) Ctrl + Shift + L 한 라인을 삭제 Alt + Mouse 블록 설정 세로로 블록 설정하기 (마우스로) Ctrl + Shift + F8 세로로 블록 설정하기 (키보드로), 취소할 때는 Esc키를 눌러야 함 블록 설정 -> Tab 선택된 블록의 문자열을 일괄적으로 들여쓰기(Tab) 적용 블록 설정 -> Shift + Tab 선택된 블록의 문자열을 일괄..
error C4996: 'inet_addr': Use inet_pton() or InetPton() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings 위와같은 에러 발생 시, include 전에 아래와 같은 코드 한줄 추가#define _WINSOCK_DEPRECATED_NO_WARNINGS 예) #define _WINSOCK_DEPRECATED_NO_WARNINGS #include #include #include #include
error C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 위와같은 에러 발생 시, include 전에 아래와 같은 코드 한줄 추가#define _CRT_SECURE_NO_DEPRECATE 예) #define _CRT_SECURE_NO_DEPRECATE #include #include #include 혹은, fopen이나 scanf등 비슷한 함수 사용시 fopen_s, scaf_s등 s 함수를 써주면 해결. 해결되셨다면 아래 공감 한번 눌러주세요~
#include #include #include #define BUF_SIZE 100 #define PORT 3000 #pragma comment(lib, "ws2_32.lib") void CompressSockets(SOCKET hSockArray[], int idx, int total); void CompressEvents(WSAEVENT hEventArr[], int idx, int total); void ErrorHandling(char* message); int main(int argc, char *argv[]) { WSADATA wsaData; SOCKET hServSock, hClntSock; SOCKADDR_IN servAdr, clntAdr; SOCKET hSockArr[WSA_MAXIM..
출처 : 윤성우 열혈 TCP/IP 소켓 프로그래밍 서버작성 : hello_server_win.c #include #include #include void ErrorHandling(char* message); int main(int argc, char* argv[]) { WSADATA wsaData; SOCKET hServSock, hClntSock; SOCKADDR_IN servAddr, clntAddr; int szClntAddr; char message[] = "hello world!"; if(argc!=2) { printf("usage : %d \n", argv[0]); exit(1); } // 소켓 라이브러리를 초기화 if(WSAStartup(MAKEWORD(2,2), &wsaData) != 0)..
예제 1. 포인터의 개념 #include int main() { int i = 10, j = 20, *a; // 정수 변수 i, j, 및 정수 포인터 변수 a선언 a = &i; // 정수 포인터 변수 a에 i의 주소 저장 printf("%p, %p\n", &i, &a); // 정수 변수 i의 주소 및 a의 주소 출력 printf("%d\n\n", *a); // 정수 포인터 a가 가리키는 곳의 데이터 출력, // 즉, 정수 포인터 a는 i의 주소를 가지고 i의 값을 출력한다. a = &j; // 정수 포인터 변수 a에 j의 주소 저장 printf("%p, %p\n", &j, &a); // 정수 변수 i의 주소 및 a의 주소 출력 printf("%d\n", *a); // 정수 포인터 a가 가리키는 곳의 데이..