TCP/IP 관련 프로젝트를 진행하다가 안드로이드를 서버로 사용해야 하는데, IP주소를 가져와야 클라이언트 측에서 Connect 할 수 있으므로 디바이스의 IP를 가져오는 코드를 찾던중에 아래와 같은 코드를 발견했는데, SDK의 문제인지 해당 코드가 안먹어서 Stack overflow를 참고하여 문제를 해결할 수 있었다. 비슷한 문제로 삽질하던 분에게 도움이 되길 안드로이드 개발코드 중, IP Address를 가져오데 가장 많이 이용되는 코드는 아래와 같습니다. 헌데, 그냥 Copy + Paste만 하면 싱거워서 약간의 해설을 달아봤습니다. 전체적인 코드와 주석은 아래와 같습니다. //Device에 있는 모든 네트워크에 대해 뺑뺑이를 돕니다. for (Enumeration en = NetworkInter..
본 자료는 숭실대학교 정보통신전자공학부 소속 소모임 BlindC에서 3학년을 대상으로 하는 자료입니다.개인의 소중한 창작물이기 때문에 자료의 열람은 자유이고, 소스코드를 긁어갈 수 있도록 우클릭제한이나 기타 제한은 걸어놓지 않았으나, 외부 공개나, 2차 수정등은 자제해주시길 부탁드립니다. 최근에 파이썬을 건드릴일이 없었는데, 데이터통신과목 과제로 파이썬을 이용한 소켓 프로그램을 만들라고 나온 모양이다. 후배들이 많이 물어봐서 따로 포스팅하여 정리하는 파이썬 소켓 프로그래밍 기본, 클라이언트에서 소문자를 서버로 전송하여 서버에서 대문자로 바꿔서 다시 클라이언트로 전송, 출력하는 문제이다. 버전은 python 3.5, pycharm 2016 community 버전을 사용하였음.독자들이 python은 처음, ..
리틀 엔디안과 빅 엔디안 (Little Endian, Big Endian) 이번 포스팅에서는 리틀 엔디안과 빅 엔디안에 대해서 소개하도록 하겠다. 컴퓨터에서 어떤 크기의 데이터를 메모리에 저장할때 바이트 단위로 나누어 저장하는데 이러한 방식을 바이트 오더(Byte Order) 라고 한다. 바이트 오더라고 하면 가장 먼저 떠오르는 것이 보통 오늘 이야기하고자 하는 리틀 엔디안(Little Endian)과 빅 엔디안(Big Endian)인데, 알고 있더라도 자주 헷갈리는 부분중에 하나이다. [그림] 레지스터와 메모리 위치 매핑관계, 출처 : 위키피디아(www.wikipedia.org) 우리가 패킷 분석을 하면서 많이 보게되는 네트워크 프로토콜은 기본적으로 빅 엔디안 표현이다. 리틀 엔디안 (Little-En..
이전 포스팅소켓 프로그래밍 : 소켓을 이용한 채팅 프로그램 만들기 예제(서버)http://andrew0409.tistory.com/103 클라이언트 역시 대화상자 형식으로 생성하도록 한다. 왼쪽 그림과 같이 만들면 되겠다. 주소, 포트, 채팅, 입력이 써있는 스태틱 텍스트와, 입력할 수 있도록 주소,포트,입력은 에티트 컨트롤, 채팅은 리스트박스를 만들어 두자. 그리고 연결, 끊기, 보내기 세개의 버튼을 만든다. 에디트 컨트롤과 리스트박스는 변수추가를 하도록 하자. 나는 순서대로 mIp, mPort, mHistory, mInput이라는 이름으로 변수를 추가했다. 마지막으로 세개의 버튼을 각각 더블클릭해서 처리기를 만들면 초반 설정은 끝난다. 아 언급하지 않았지만 app에서 WSAStartup이나 WSACl..
이번에는 채팅을 할 수 있는 프로그램을 예제로 공부하겠다. 1부 : 윈도우즈 MFC 소켓프로그래밍 : 소켓 기본 클래스 소스코드 1 (헤더파일)http://andrew0409.tistory.com/97 2부 : 윈도우즈 MFC 소켓프로그래밍 : 소켓 기본 클래스 소스코드 2 (서버cpp파일)http://andrew0409.tistory.com/99 3부 : 윈도우즈 MFC 소켓프로그래밍 : 소켓 기본 클래스 소스코드 3 (클라이언트cpp파일)http://andrew0409.tistory.com/100 기본적으로 MFC 프로젝트를 하나 생성하고, 지난 포스팅에서 만들어놓은 CClientSocket 과 CServerSocket의 헤더와 cpp파일을 프로젝트 폴더로 복사해와서 include 한다. 잘 모르겠다..
1부 : 윈도우즈 MFC 소켓프로그래밍 : 소켓 기본 클래스 소스코드 1 (헤더파일)http://andrew0409.tistory.com/97 2부 : 윈도우즈 MFC 소켓프로그래밍 : 소켓 기본 클래스 소스코드 2 (서버cpp파일)http://andrew0409.tistory.com/99 3부 : 윈도우즈 MFC 소켓프로그래밍 : 소켓 기본 클래스 소스코드 3 (클라이언트cpp파일)http://andrew0409.tistory.com/100 4부 : 윈도우즈 MFC 소켓프로그래밍 : 소켓 기본 클래스 소스코드 4 (메인cpp파일) 어제 서버쪽 메인 cpp 파일을 올려놓고 클라이언트쪽 코드를 안올렸구나 하는 생각이 문득 들었다.그래서 뒤늦게 올림...ㅋㅋ 서버쪽 코드를 이해하고 있다면 클라이언트를 짜는것..
1부 : 윈도우즈 MFC 소켓프로그래밍 : 소켓 기본 클래스 소스코드 1 (헤더파일)http://andrew0409.tistory.com/97 2부 : 윈도우즈 MFC 소켓프로그래밍 : 소켓 기본 클래스 소스코드 2 (서버cpp파일)http://andrew0409.tistory.com/99 3부 : 윈도우즈 MFC 소켓프로그래밍 : 소켓 기본 클래스 소스코드 3 (클라이언트cpp파일)http://andrew0409.tistory.com/100 소켓 기본 마지막 포스팅. 오늘은 지금까지 배운 CServerSocket과 CClientSocket을 이용해서 직접 서버에 연결하고 데이터를 전달해보는 예제 소스코드를 보고 연습해보겠다. 123456789101112void CChildView::OnKeyDown(U..
지난 포스팅에서는 서버클래스의 소스코드에 대해서 살펴보았다. 이번에는 클라이언트 클래스의 소스코드에 대하여 살펴보고 알아보는 시간을 가져보겠다. 123456789CClientSocket::CClientSocket(SOCKET sock) : mSock(sock){} CClientSocket::~CClientSocket(){ Close();}Colored by Color Scriptercs 생성자와 소멸자는 이전에 포스팅 했던 서버.cpp의 내용과 동일하니 코드만 올려놓고 설명은 생략하겠다.궁금한 사람은 이전 포스팅 http://andrew0409.tistory.com/99 를 참조하시면 되겠다. 1234567891011121314151617bool CClientSocket::Create(){ if (IsV..
지난 포스팅에서 MFC 소켓 프로그래밍을 하는데에 필요한 클래스 두개 서버와 클라이언트의 헤더파일에서 간단하게 각 멤버변수와 멤버함수의 사용법에 대해서 살펴보았다. 이번에는 본격적으로 cpp 파일의 소스를 하나하나 살펴 보겠다. 12345678CServerSocket::CServerSocket(SOCKET sock) : mSock(sock){} CServerSocket::~CServerSocket(){}Colored by Color Scriptercs 생성자와 소멸자이다. 소멸자는 기본적으로 주어지는 것을 그대로 사용하고 생성자는 default parameter를 사용하기 때문에 기본생성자를 따로 두지 않고 콜론 초기화를 사용하였다.만약 생성자를 별도로 호출하지 않으면 mSock은 default para..
소켓을 연결해서 통신을 하려면 기본적으로 서버와 클라이언트가 필요하다.또한 서버는 하나 뿐만이 아니라 여러 클라이언트에서의 연결을 계속적으로 받고, 처리하기 위해서 쓰레드를 사용해야한다. 아래에는 클래스로 만들어둔 서버와 클라이언트의 기본이되는 소스코드를 첨부하겠다. 편의를 위해서 모든 멤버변수는 public으로 처리하였다. 들어가기에 앞서 App 클래스의 InitInstance 함수 내에서 12 WSADATA data; ::WSAStartup(MAKEWORD(2, 2), &data);cs 위 코드를 사용하여 WSADATA를 반드시 스타트 업 시켜야 한다. 이 작업을 빼먹으면 소켓을 아무리 잘 짜놓더라도 프로그램이 동작하지 않는다. 더불어 할당을 했으면 반드시 해제를 해야하는데 ExitInstance 함..
- Total
- Today
- Yesterday
- 티라노 시그널
- 디렉터리
- 클라이언트
- C++
- socket
- C
- 액터
- 리눅스
- 프로세스
- 파이썬
- Sort
- 안드로이드
- C/C++
- 소켓
- 쓰레드
- 자료구조
- 유즈케이스
- UML
- 티그널
- MFC
- 정렬
- 악보
- 터미널
- 데이터베이스
- 파이썬예제
- 소켓 프로그래밍
- 파일
- 스레드
- 클래스
- 라즈베리파이
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |