IOCP를 create함수로 생성할때 NULL로 생성하고 그다음 create함수에 매개변수로 IOCP핸들값을 넘겨줄때 Key값을 어떤식으로 활용하는지 궁금합니다.
패킷용으로 선언한 구조체 데이터스트림을 넘기는건지 여튼 어떻게 사용하는건지 궁금합니다.
설명에는 연결된 소켓을 구분짓는다고 하는데 정확히 그 의미가 뭔지도 궁금합니다.
http://blog.daum.net/_blog/photoImage.do?blogid=0iioV&imgurl=http://cfile206.uf.daum.net/original/22204F4B543934EA33A5CA
다운이 안되면. 한번 더 갱신하면. 다운 될거예요.
1. 이거 다운받고. chat_server4 - 정적 메모리 & 지역변수 & completion & 전체 전송2.ziphttp://cfile234.uf.daum.net/attach/22546F3353AD028B15E3AE
2. 이거 다운받고. 서버 실행파일과 같은 폴더 넣고. MFC-디버깅용-DLL파일들http://luciferd.tistory.com/entry/MFC-%EB%94%94%EB%B2%84%EA%B9%85%EC%9A%A9-DLL%ED%8C%8C%EC%9D%BC%EB%93%A4
3. 이거 서버 실행하고 chat_server4 - 정적 메모리 & 지역변수 & completion & 전체 전송2\Debug\chat_server.exe
4. 이거 클라이언트 실행. ClientIOCP.exe 192.168.0.63 5001
//-------------------------------------- //아래는 그냥 참고용. ㅇ_ㅇ;; //--------------------------------------
test 아주 훌륭한 IOCP 스레드 풀 예제.ziphttp://cfile238.uf.daum.net/attach/274C333353AD028B235602
chat_server4 - 정적 메모리 & 지역변수 & completion & 전체 전송2.ziphttp://cfile234.uf.daum.net/attach/22546F3353AD028B15E3AE
test CASyncSocket 완료.ziphttp://cfile202.uf.daum.net/attach/2164D44253AD317E13E66E
http://codenavy.egloos.com/viewer/4856077
MFC 디버그 DLL은 이것을 참고해 보자.http://blog.naver.com/cjfgml6105/220014493533
Win32 IOCP를 따라잡을 Unix, Linux, *BSD계열의 방법은?
https://kldp.org/node/60222
IOCP 서버 제작에 있어서의 유의할 점들http://egloos.zum.com/sophnim/v/874820
test IOCP 완료포트 예제소스 정리 ★★★★★http://blog.naver.com/dks444?Redirect=Log&logNo=90194527280
test IOCP 완료포트 예제소스 정리.ziphttp://cfile201.uf.daum.net/attach/236CDE3E563C499E15B94A
비동기 파일 사용 요건 좀 느린거http://www.codeproject.com/Articles/174595/A-Simple-Wrapper-for-Asynchronous-File-I-O-ReadFil 요건 좀 안정적인거http://www.codeproject.com/Articles/3936/CFile-Replacement-with-Overlapped-I-O-and-User-Def
비동기 소켓 사용 WSARecvhttp://msdn.microsoft.com/en-us/library/windows/desktop/ms741688(v=vs.85).aspx WSASendhttp://msdn.microsoft.com/en-us/library/windows/desktop/ms742203(v=vs.85).aspx
IOCP가 최고라는 수다 ㅡ_ㅡ;; PC 한대에. 10000 대가 접속이 가능하다고 한다.https://kldp.org/node/60222
//구글에서 검색하면 나오는 자료. 데브피아에 더 많은거다. www.devpia.comhttp://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/win_network_prog/doc/iocphttp://www.viper.pe.kr/wiki2/wiki.php/Overlapped%20I/O%20%BF%CD%20IOCP%20Programminghttp://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/win_network_prog/doc/iocphttp://codeflow.co.kr/question/180/epoll%EA%B3%BC-iocp%EC%9D%98-%EC%84%B1%EB%8A%A5%EC%97%90-%EC%B0%A8%EC%9D%B4%EB%8A%94-%EC%96%B4%EB%94%94%EC%84%9C-%EC%98%A4%EB%8A%94%EA%B1%B8%EA%B9%8C%EC%9A%94/http://www.gamecodi.com/board/zboard-id-GAMECODI_Talkdev-no-1607-z-11.htmhttp://blog.83rpm.com/archives/912http://ryulib.tistory.com/295
http://search.naver.com/search.naver?ie=utf8&sm=stp_hty&where=se&query=sigaction
이 책이 원본이다. UNIX Systems Programming for SVR4 유닉스 시스템 프로그래밍 SVR4 O'REILLY 한빛 미디어http://www.hanb.co.kr/book/look.html?isbn=89-7914-120-3http://book.naver.com/bookdb/book_detail.nhn?bid=53431
MFC-디버깅용-DLL파일들http://luciferd.tistory.com/entry/MFC-%EB%94%94%EB%B2%84%EA%B9%85%EC%9A%A9-DLL%ED%8C%8C%EC%9D%BC%EB%93%A4
------------------------------------------- A Simple Wrapper for Asynchronous File I/O (ReadFileEx, WriteFileEx) ★★★★★ 가장 훌륭한 FILE IOCP 예제소스 A Simple Wrapper for Asynchronous File I/O (ReadFileEx, WriteFileEx)http://www.codeproject.com/Articles/174595/A-Simple-Wrapper-for-Asynchronous-File-I-O-ReadFil
CFile Replacement with Overlapped I/O and User-Defined Progress Callbackhttp://www.codeproject.com/Articles/3936/CFile-Replacement-with-Overlapped-I-O-and-User-Def
RIO - Windows Registered I/O (RIO) vs IOCP ★★★★★ https://msdn.microsoft.com/en-us/library/windows/desktop/ms740642(v=vs.85).aspx
RIOReceive functionhttps://msdn.microsoft.com/en-us/library/windows/desktop/hh437193(v=vs.85).aspx
Windows Registered I/O (RIO) vs IOCPhttps://www.slideshare.net/sm9kr/windows-registered-io-rio
New techniques to develop low-latency network appshttps://channel9.msdn.com/Events/Build/BUILD2011/SAC-593T
http://jacking.tistory.com/1177
Windows 8 Registered I/O - Multi threaded RIO IOCP UDP Example Serverhttp://www.serverframework.com/asynchronousevents/2012/03/windows-8-registered-io---multi-threaded-rio-iocp-udp-example-server.html
Windows Registered I/O (RIO) vs IOCP https://www.slideshare.net/sm9kr/windows-registered-io-rio
Windows Registered I/O Win 8.1 RioCreateRequestQueue Error 10045https://stackoverflow.com/questions/25788382/windows-registered-i-o-win-8-1-riocreaterequestqueue-error-10045
Windows 8と2012 ServerのRegistered I/Oについての記事Add Starhttp://d.hatena.ne.jp/matarillo/20150920/p1
zeliard/RIOEchoServer Echo Server using Windows Registered I/Ohttps://github.com/zeliard/RIOEchoServer
zeliard/RIOTcpServer High Performance TCP server example using Windows Registered I/O (RIO)https://github.com/zeliard/RIOTcpServer
-------------------------------------------
CFile Replacement with Overlapped I/O and User-Defined Progress Callbackhttps://www.codeproject.com/Articles/3936/CFile-Replacement-with-Overlapped-I-O-and-User-Def
IOCPhttp://blog.naver.com/dks444/90194527280http://cfile201.uf.daum.net/attach/236CDE3E563C499E15B94A
Win32 IOCP를 따라잡을 Unix, Linux, *BSD계열의 방법은?https://kldp.org/node/60222
Server - AsyncSelect Modelhttp://egloos.zum.com/codenavy/v/4856077 기능과 원리로 배우는 프로그램\통신\select - IO멀티 플렉싱 소스2https://drive.google.com/drive/folders/0B_788O9A9oekR1NzVWZ0b0p4YTg?usp=sharing
멀티스레드 socket connect 10048 에러 발생https://kldp.org/node/157796
---------------------------------------------------------------------------- 젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다. 정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
아랫분은 바로 핵심을 짚어 주셨는데, 링크를 늘어만 놓는 건 여전하시네요 :(
서버에서는 각각의 클라이언트 모두를 따로 관리해야합니다. (커넥션 죽은 클라이언트 처리, 로그인(세션)처리, 등등의 작업을 하겠죠.) 그럴러면 각각의 클라이언트에 대한 구조체같은걸 생성하겠죠.
struct ... { SOCKET hSocket; WSABUF buffer; int state; sessionId; 등등... };
보통 이런식으로 클라이언트 소켓 구조체를 만들어서 IOCP Key에는 이 구조체의 포인터를 넘겨서 사용합니다.
GetQueuedCompletionStatus 에서 다시 IOCP Key(위 구조체의 포인터)를 받아서 각각의 클라이언트에 대한 처리를 합니다.
감사합니다. 이제 확인했네요. 말씀하신 부분 잘 새겨 들었습니다.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
참고해보세요.
http://blog.daum.net/_blog/photoImage.do?blogid=0iioV&imgurl=http://cfile206.uf.daum.net/original/22204F4B543934EA33A5CA
다운이 안되면. 한번 더 갱신하면. 다운 될거예요.
1. 이거 다운받고.
chat_server4 - 정적 메모리 & 지역변수 & completion & 전체 전송2.zip
http://cfile234.uf.daum.net/attach/22546F3353AD028B15E3AE
2. 이거 다운받고. 서버 실행파일과 같은 폴더 넣고.
MFC-디버깅용-DLL파일들
http://luciferd.tistory.com/entry/MFC-%EB%94%94%EB%B2%84%EA%B9%85%EC%9A%A9-DLL%ED%8C%8C%EC%9D%BC%EB%93%A4
3. 이거 서버 실행하고
chat_server4 - 정적 메모리 & 지역변수 & completion & 전체 전송2\Debug\chat_server.exe
4. 이거 클라이언트 실행.
ClientIOCP.exe 192.168.0.63 5001
//--------------------------------------
//아래는 그냥 참고용. ㅇ_ㅇ;;
//--------------------------------------
test 아주 훌륭한 IOCP 스레드 풀 예제.zip
http://cfile238.uf.daum.net/attach/274C333353AD028B235602
chat_server4 - 정적 메모리 & 지역변수 & completion & 전체 전송2.zip
http://cfile234.uf.daum.net/attach/22546F3353AD028B15E3AE
test CASyncSocket 완료.zip
http://cfile202.uf.daum.net/attach/2164D44253AD317E13E66E
http://codenavy.egloos.com/viewer/4856077
MFC 디버그 DLL은 이것을 참고해 보자.
http://blog.naver.com/cjfgml6105/220014493533
Win32 IOCP를 따라잡을 Unix, Linux, *BSD계열의 방법은?
https://kldp.org/node/60222
IOCP 서버 제작에 있어서의 유의할 점들
http://egloos.zum.com/sophnim/v/874820
test IOCP 완료포트 예제소스 정리 ★★★★★
http://blog.naver.com/dks444?Redirect=Log&logNo=90194527280
test IOCP 완료포트 예제소스 정리.zip
http://cfile201.uf.daum.net/attach/236CDE3E563C499E15B94A
비동기 파일 사용
요건 좀 느린거
http://www.codeproject.com/Articles/174595/A-Simple-Wrapper-for-Asynchronous-File-I-O-ReadFil
요건 좀 안정적인거
http://www.codeproject.com/Articles/3936/CFile-Replacement-with-Overlapped-I-O-and-User-Def
비동기 소켓 사용
WSARecv
http://msdn.microsoft.com/en-us/library/windows/desktop/ms741688(v=vs.85).aspx
WSASend
http://msdn.microsoft.com/en-us/library/windows/desktop/ms742203(v=vs.85).aspx
IOCP가 최고라는 수다 ㅡ_ㅡ;; PC 한대에. 10000 대가 접속이 가능하다고 한다.
https://kldp.org/node/60222
//구글에서 검색하면 나오는 자료. 데브피아에 더 많은거다. www.devpia.com
http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/win_network_prog/doc/iocp
http://www.viper.pe.kr/wiki2/wiki.php/Overlapped%20I/O%20%BF%CD%20IOCP%20Programming
http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/win_network_prog/doc/iocp
http://codeflow.co.kr/question/180/epoll%EA%B3%BC-iocp%EC%9D%98-%EC%84%B1%EB%8A%A5%EC%97%90-%EC%B0%A8%EC%9D%B4%EB%8A%94-%EC%96%B4%EB%94%94%EC%84%9C-%EC%98%A4%EB%8A%94%EA%B1%B8%EA%B9%8C%EC%9A%94/
http://www.gamecodi.com/board/zboard-id-GAMECODI_Talkdev-no-1607-z-11.htm
http://blog.83rpm.com/archives/912
http://ryulib.tistory.com/295
http://search.naver.com/search.naver?ie=utf8&sm=stp_hty&where=se&query=sigaction
이 책이 원본이다.
UNIX Systems Programming for SVR4
유닉스 시스템 프로그래밍 SVR4
O'REILLY 한빛 미디어
http://www.hanb.co.kr/book/look.html?isbn=89-7914-120-3
http://book.naver.com/bookdb/book_detail.nhn?bid=53431
test 아주 훌륭한 IOCP 스레드 풀 예제.zip
http://cfile238.uf.daum.net/attach/274C333353AD028B235602
chat_server4 - 정적 메모리 & 지역변수 & completion & 전체 전송2.zip
http://cfile234.uf.daum.net/attach/22546F3353AD028B15E3AE
test CASyncSocket 완료.zip
http://cfile202.uf.daum.net/attach/2164D44253AD317E13E66E
MFC 디버그 DLL은 이것을 참고해 보자.
http://blog.naver.com/cjfgml6105/220014493533
MFC-디버깅용-DLL파일들
http://luciferd.tistory.com/entry/MFC-%EB%94%94%EB%B2%84%EA%B9%85%EC%9A%A9-DLL%ED%8C%8C%EC%9D%BC%EB%93%A4
-------------------------------------------
A Simple Wrapper for Asynchronous File I/O (ReadFileEx, WriteFileEx) ★★★★★ 가장 훌륭한 FILE IOCP 예제소스
A Simple Wrapper for Asynchronous File I/O (ReadFileEx, WriteFileEx)
http://www.codeproject.com/Articles/174595/A-Simple-Wrapper-for-Asynchronous-File-I-O-ReadFil
CFile Replacement with Overlapped I/O and User-Defined Progress Callback
http://www.codeproject.com/Articles/3936/CFile-Replacement-with-Overlapped-I-O-and-User-Def
RIO - Windows Registered I/O (RIO) vs IOCP ★★★★★
https://msdn.microsoft.com/en-us/library/windows/desktop/ms740642(v=vs.85).aspx
RIOReceive function
https://msdn.microsoft.com/en-us/library/windows/desktop/hh437193(v=vs.85).aspx
Windows Registered I/O (RIO) vs IOCP
https://www.slideshare.net/sm9kr/windows-registered-io-rio
New techniques to develop low-latency network apps
https://channel9.msdn.com/Events/Build/BUILD2011/SAC-593T
http://jacking.tistory.com/1177
Windows 8 Registered I/O - Multi threaded RIO IOCP UDP Example Server
http://www.serverframework.com/asynchronousevents/2012/03/windows-8-registered-io---multi-threaded-rio-iocp-udp-example-server.html
New techniques to develop low-latency network apps
https://channel9.msdn.com/Events/Build/BUILD2011/SAC-593T
Windows Registered I/O (RIO) vs IOCP
https://www.slideshare.net/sm9kr/windows-registered-io-rio
Windows Registered I/O Win 8.1 RioCreateRequestQueue Error 10045
https://stackoverflow.com/questions/25788382/windows-registered-i-o-win-8-1-riocreaterequestqueue-error-10045
Windows 8と2012 ServerのRegistered I/Oについての記事Add Star
http://d.hatena.ne.jp/matarillo/20150920/p1
zeliard/RIOEchoServer
Echo Server using Windows Registered I/O
https://github.com/zeliard/RIOEchoServer
zeliard/RIOTcpServer
High Performance TCP server example using Windows Registered I/O (RIO)
https://github.com/zeliard/RIOTcpServer
-------------------------------------------
CFile Replacement with Overlapped I/O and User-Defined Progress Callback
https://www.codeproject.com/Articles/3936/CFile-Replacement-with-Overlapped-I-O-and-User-Def
IOCP
http://blog.naver.com/dks444/90194527280
http://cfile201.uf.daum.net/attach/236CDE3E563C499E15B94A
Win32 IOCP를 따라잡을 Unix, Linux, *BSD계열의 방법은?
https://kldp.org/node/60222
Server - AsyncSelect Model
http://egloos.zum.com/codenavy/v/4856077
기능과 원리로 배우는 프로그램\통신\select - IO멀티 플렉싱 소스2
https://drive.google.com/drive/folders/0B_788O9A9oekR1NzVWZ0b0p4YTg?usp=sharing
-------------------------------------------
멀티스레드 socket connect 10048 에러 발생
https://kldp.org/node/157796
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
아랫분은 바로 핵심을 짚어 주셨는데, 링크를 늘어만
아랫분은 바로 핵심을 짚어 주셨는데, 링크를 늘어만 놓는 건 여전하시네요 :(
클라이언트를 구분하기 위해 사용합니다.
서버에서는 각각의 클라이언트 모두를 따로 관리해야합니다.
(커넥션 죽은 클라이언트 처리, 로그인(세션)처리, 등등의 작업을 하겠죠.)
그럴러면 각각의 클라이언트에 대한 구조체같은걸 생성하겠죠.
struct ... {
SOCKET hSocket;
WSABUF buffer;
int state;
sessionId;
등등...
};
보통 이런식으로 클라이언트 소켓 구조체를 만들어서 IOCP Key에는 이 구조체의 포인터를 넘겨서 사용합니다.
GetQueuedCompletionStatus 에서 다시 IOCP Key(위 구조체의 포인터)를 받아서 각각의 클라이언트에 대한 처리를 합니다.
감사합니다. 이제 확인했네요. 말씀하신 부분 잘 새겨
감사합니다. 이제 확인했네요. 말씀하신 부분 잘 새겨 들었습니다.
댓글 달기