코드 설명
Thread 와 Socket Programming 어느 정도 배운 상태에서 나올수 있는 숙제입니다. Blocking 방식으로 스레드를 활용하여 여러명을 받아 메시지를 뿌리는 프로그램입니다. Mutex 을 활용하여 자원을 공유하여 수행합니다. 5명까지 받을수 있도록 하되 그 이상을 받으면 오류를 내는 프로그램 입니다.

참고 - 학교 과제용 코드 입니다. 그러니 이제 검색되므로 이 코드로는 채점되기 쉽지 않을 겁니다. 예제로 쓰시기 바랍니다.

받기
클라이언트


서버


실행화면
사용자 삽입 이미지

코드내용

Posted by 카켈
코드 출처
http://www.sockaddr.com/ExampleSourceCode.html

코드 받기
원본


수정된 코드


수정 내용
CPP 에 맞게 수정
한글화

주의 사항
원래 코드 파일인 C로는 컴파일되는 코드지만 CPP 로 하면 안되는 부분이 있습니다.
GetProcAddress 와 FreeLibrary 인 곳인데, 첫번째 인수가 struct HISTANCE 형이여야 합니다. C 코드는 그냥 void 포인터로 넣어도 문제가 없는데 CPP 에서는 형검사(타입 체킹)을 하기 때문에 문제가 발생합니다.

cannot convert parameter 1 from 'void *' to 'struct HINSTANCE__ *'

(HISTANCE)를 붙여서 강제 형변환(type-casting)을 하면 해결할수 있습니다.
GetProcAddress(hndlIcmp, "IcmpCreateFile"); -> GetProcAddress((HINSTANCE)hndlIcmp, "IcmpCreateFile");
FreeLibrary(hndlIcmp); -> FreeLibrary((HINSTANCE)hndlIcmp);

C 에서는 문제가 없습니다.

실행 화면
사용자 삽입 이미지

코드 내용

Posted by 카켈
원본 출처
http://www.sockaddr.com/ExampleSourceCode.html

코드 받기
- 수정


- 원본


코드 설명
콘솔창에 있는 ping 명령어를 직접 짜는 내용입니다.

실행 화면
사용자 삽입 이미지

코드 내용



추가 정보
rawsocket 정보 -- http://myhome.shinbiro.com/~eaglelee/rawsocket.txt
- 받아 보기


IP -- RFC 791
http://www.faqs.org/rfcs/rfc791.html

ICMP -- RFC 792
http://www.faqs.org/rfcs/rfc792.html



Posted by 카켈
  소개
  코드를 머리 속에서 최대한 외울려고 했는데, 서버에서 bind 부분이랑 accept 이 막혔습니다.
기존에 준 ref 코드와 다른 것은 오류를 최대한 막을려고 했기 때문에 ref 기반에서 출발했지만 약간 다릅니다. 하지만 거의 같습니다. 제가 했던 리포트랑 엄청 짧고 간편해졌습니다;

  이전 TCP 통신에서 응용한 것입니다.

  수행 화면
사용자 삽입 이미지

  코드 받기
수정된 코드


ref 코드(reference - 참조)


  코드 내용
Posted by 카켈

출처 주소
http://www.sockaddr.com/ExampleSourceCode.html

바로 받기
- 원본 코드



- 새로 친 코드


변경 내용 - 약간의 한글화 / CheckMail.h 헤더 부분 내장 (내용이 작아서 넣었음)

수행 내용
-  TCP/IP - POP3 서버에 접속 및 통신하는 내용입니다.
- 수행화면

사용자 삽입 이미지

작업 로그

수행 방법
- 바로 수행되게 Link 부분을 수정했습니다.
#pragma comment (lib,"wsock32.lib")                        // wsock32.lib 를 링크하기
#pragma comment( linker, "/subsystem:windows" )    // WinMain 을 불러 쓰기. int main 을 쓰지                                                                                 않습니다.

- Resouce 부분은 직접 만들어서 추가했습니다. 처음이라 그런지 X 버튼으로 종료가 되지 않습니다.
- 프로젝트에 Resource 을 추가하시고 같이 생성되는 recource.h 파일을 include 하시면 됩니다.
- 워크스페이스(workspace)에 넣어 두시면 많이 편합니다(엉뚱하게 있어도 오류가 나는 경우가 있음) 추가하는 법은 아래 파일 트리에 Add Files in Project 를 누르시던지 Project 메뉴에 Add to Project -> Files 를 누르시면 됩니다.

사용자 삽입 이미지

추가된 리소스 트리와 파일입니다. MFC 를 쓰지 않고, WinAPI 를 썼습니다.

사용자 삽입 이미지

리소스 구조 입니다. 단순합니다;

- password 부분은 보이진 않지만 암호화 되어 전송되지 않기 때문에 외부 유출이 가능하므로 조심하시기 바랍니다.
- POP3 서버를 사용할수 있는 계정으로 접근 합니다.
- 만들어진 코드에서 문제가 시스템 명령 상으로 닫혀지지 않습니다. 아시는 분 댓글 부탁 드립니다. 해킹은 아닌데; 이상하게 X 버튼이 먹히지 않습니다. 그냥 닫기 컨트롤을 누르면 닫힙니다^^;

코드 보기(좀 깁니다.)
Posted by 카켈
출처 주소
http://www.sockaddr.com/ExampleSourceCode.html

바로 받기
- 원본 코드



- 새로 친 코드


변경 내용 - 약간의 한글화 / 0.5% 수정

수행 내용
-  TCP/IP 와 HTTP 사용하여 해당 서버에 접속 해당 파일을 받아 오는 내용(1024Bytes)입니다.
- 수행화면
코드 보기
Posted by 카켈
출처 주소
http://www.sockaddr.com/ExampleSourceCode.html

바로 받기
- 원본 코드


- 새로 친 코드


변경 내용 - 약간의 한글화

수행 내용
-  WinSock의 gethostbyX() 함수로 호스트 이름이나 IP 주소로   hostent 구조체 를 받습니다.
- 수행화면
사용자 삽입 이미지

코드 보기
Posted by 카켈
이전페이지 1 다음페이지