C++ 비동기 send recv 문의

글쓴이: 익명 사용자 / 작성시간: 토, 2018/03/31 - 1:08오전
IOCP서버로 WSASend, WSARecv 로 패킷을 주고 받으려고 하는데
패킷을 클래스화 시켜서 주고 받으려고 합니다.
class Login_Request : PacketHead { public: char ID_value[15]; char PW_value[15]; public: Login_Request() :ID_value(), PW_value(){} Login_Request(std::string _ID, std::string _PW) : PacketHead(LOGIN_REQUEST, sizeof(Login_Request)) { strcpy(ID_value, _ID.c_str()); strcpy(PW_value, _PW.c_str()); } };
이런식인데 일단 에코서버에서 연습삼아 패킷교환 테스트를 할때에는
send로 (char*)선언한 패킷클래스 이런식으로 변환시켜서 바로 받았는데
비동기로 할때도 똑같은가요?
예제를 보니 데이터 사이즈를 읽어서 그 크기가 될때까지 while문을 돌려서 계속 읽어들이고,
그 이후에 패킷 처리를 하던데, 이에 맞춘다면 똑같이 반복문 돌려서 데이터 사이즈에 맞게 데이터를 받을때까지 돌리고 그다음에 패킷클래스로 형변환 시켜서 읽어야 하는건가요?
Forums:
참고해보세요.
MSDN (데브피아. 코드프로젝트. 코드구루) - 윈도우에서 사용합니다.
TCP 통신 - WSASend() WSARecv() WSARecvEx() Send() Recv()
UDP 통신 - sendto() CAsyncSocket::SendToEx() WSARecvFrom() recvfrom()
MAN (KLDP) - 리눅스에서 사용합니다. (윈도우에서 사용하기도 합니다.)
send() recv()
recv man
https://www.google.co.kr/search?dcr=0&biw=1501&bih=822&ei=yLe-WpKVFYWn0gSrrquYAg&q=recv+man&oq=recv+man&gs_l=psy-ab.3..0i7i30k1l9j0i7i10i30k1.13802.14289.0.14432.4.4.0.0.0.0.162.507.1j3.4.0....0...1c.1.64.psy-ab..1.3.413...0.0.q62h5mRtcS8
send man
https://www.google.co.kr/search?dcr=0&biw=1501&bih=822&ei=Ere-Wqv6F4ec0gTnn6YQ&q=send+man&oq=send+man&gs_l=psy-ab.3..0l4j0i30k1l6.177176.180779.0.180969.18.14.4.0.0.0.141.1277.1j10.12.0....0...1c.1j4.64.psy-ab..3.14.1258.0..0i131k1j0i10k1j0i67k1.99.6vZn-TN-3po
WSARecv
https://www.codeproject.com/search.aspx?q=WSARecv&sbo=kw&x=0&y=0
https://www.google.co.kr/search?dcr=0&ei=p7O-WoagMoKw0AS264aQAw&q=WSARecv&oq=WSARecv&gs_l=psy-ab.3..0l10.3095.4668.0.4932.6.3.1.2.3.0.121.331.0j3.3.0....0...1c.1.64.psy-ab..0.5.293....0.R3RD1LRy93k
https://search.naver.com/search.naver?sm=tab_hty.top&where=nexearch&query=WSARecv&oquery=WSASend&tqi=TrIzXlpVuEwssaSHJCsssssssMC-454260
http://book.naver.com/search/search.nhn?sm=sta_hty.book&sug=&where=nexearch&query=WSARecv
https://msdn.microsoft.com/en-us/library/windows/desktop/ms741688(v=vs.85).aspx
AsyncSocket
https://www.codeproject.com/search.aspx?q=AsyncSocket&doctypeid=1%3b2%3b3%3b13%3b14
https://www.google.co.kr/search?dcr=0&ei=nrO-WvWRFMjV0ATL3J6ACQ&q=AsyncSocket&oq=AsyncSocket&gs_l=psy-ab.3..0l6j0i10k1j0j0i10k1l2.52872.52872.0.53214.1.1.0.0.0.0.111.111.0j1.1.0....0...1c.1.64.psy-ab..0.1.109....0.-ym_rvHoywU
https://search.naver.com/search.naver?sm=tab_hty.top&where=nexearch&query=AsyncSocket&oquery=WSASend&tqi=TrIzYwpVuEKsssFhtjZssssssL4-355038
https://msdn.microsoft.com/ko-kr/library/3d46645f.aspx
WSASend
https://www.codeproject.com/search.aspx?q=WSASend&sbo=kw&x=0&y=0
https://www.google.co.kr/search?dcr=0&source=hp&ei=N7O-WonLDcW30QSTpZqQCg&q=WSASend&oq=WSASend&gs_l=psy-ab.3..0l10.938.938.0.1286.2.1.0.0.0.0.158.158.0j1.1.0....0...1c.1.64.psy-ab..1.1.157.0...0.eBbq6uNkDUw
https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=1&ie=utf8&query=WSASend
https://msdn.microsoft.com/en-us/library/windows/desktop/ms742203(v=vs.85).aspx
Socket
http://book.naver.com/search/search.nhn?sm=sta_hty.book&sug=&where=nexearch&query=Socket
http://www.kangcom.com/search/?q=Socket&f=
TCPIP
http://book.naver.com/search/search.nhn?sm=sta_hty.book&sug=&where=nexearch&query=TCPIP
http://www.kangcom.com/search/?q=TCPIP&f=
OLC 공개 강좌
http://olc.kr/main/index.jsp
Send Socket
https://www.google.co.kr/search?dcr=0&ei=3LW-WrjSBsPP0gSEgo6IDw&q=Send+Socket&oq=Send+Socket&gs_l=psy-ab.3..0l3j0i30k1l7.2451.3676.0.3896.7.5.0.2.2.0.174.676.0j5.5.0....0...1c.1.64.psy-ab..0.7.724...0i67k1.0.9kQqj2oH9yg
https://msdn.microsoft.com/ko-kr/library/windows/desktop/ms740149(v=vs.85).aspx
Recv Socket
https://www.google.co.kr/search?dcr=0&ei=4bW-WqvZBMjV0ATL3J6ACQ&q=Recv+Socket&oq=Recv+Socket&gs_l=psy-ab.3..0i7i30k1j0i67k1j0i7i30k1l7j0.39642.40209.0.40374.4.4.0.0.0.0.144.494.1j3.4.0....0...1c.1.64.psy-ab..1.3.403....0._-AjI1IICBQ
Recv MSDN
https://www.google.co.kr/search?dcr=0&biw=1501&bih=822&ei=c7a-WszrJcOl0gTrnLiwBA&q=Recv+MSDN&oq=Recv+MSDN&gs_l=psy-ab.3..0j0i30k1l2j0i8i30k1l4j0i5i30k1l2j0i8i30k1.5841.6307.0.6634.4.4.0.0.0.0.159.537.0j4.4.0....0...1c.1.64.psy-ab..0.4.531....0.yDzNGCGi3NA
https://msdn.microsoft.com/de-de/library/windows/desktop/ms740121(v=vs.85).aspx
WSARecvEx function
https://msdn.microsoft.com/ko-kr/library/windows/desktop/ms741684(v=vs.85).aspx
WSASendTo function
https://msdn.microsoft.com/en-us/library/windows/desktop/ms741693(v=vs.85).aspx
WSARecvFrom function
https://msdn.microsoft.com/en-us/library/windows/desktop/ms741686(v=vs.85).aspx
검색 제외
bing
daum
nate
devpia
kldp
동기 비동기 블로킹 논블로킹
https://www.google.co.kr/search?ei=Fb2-WrD1J4jt0gSQyYmoDA&q=%EB%8F%99%EA%B8%B0+%EB%B9%84%EB%8F%99%EA%B8%B0+%EB%B8%94%EB%A1%9C%ED%82%B9+%EB%85%BC%EB%B8%94%EB%A1%9C%ED%82%B9&oq=%EB%8F%99%EA%B8%B0+%EB%B9%84%EB%8F%99%EA%B8%B0+&gs_l=psy-ab.1.7.0l5j0i67k1j0l2j0i30k1l2.4945.4945.0.9019.1.1.0.0.0.0.103.103.0j1.1.0....0...1c.1.64.psy-ab..0.1.102....0.C346xFO7Cp4
https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=1&ie=utf8&query=%EB%8F%99%EA%B8%B0+%EB%B9%84%EB%8F%99%EA%B8%B0+%EB%B8%94%EB%A1%9C%ED%82%B9+%EB%85%BC%EB%B8%94%EB%A1%9C%ED%82%B9
동기 비동기
https://www.google.co.kr/search?ei=H72-Wu2HJ8K30QT4jLaYBA&q=%EB%8F%99%EA%B8%B0+%EB%B9%84%EB%8F%99%EA%B8%B0&oq=%EB%8F%99%EA%B8%B0+%EB%B9%84%EB%8F%99%EA%B8%B0&gs_l=psy-ab.3..0l3j0i67k1j0l5.27056.27056.0.27425.1.1.0.0.0.0.127.127.0j1.1.0....0...1c.1.64.psy-ab..0.1.126....0._1Ebl1iuB_M
https://search.naver.com/search.naver?sm=tab_hty.top&where=nexearch&query=%EB%8F%99%EA%B8%B0+%EB%B9%84%EB%8F%99%EA%B8%B0&oquery=%EB%8F%99%EA%B8%B0+%EB%B9%84%EB%8F%99%EA%B8%B0+%EB%B8%94%EB%A1%9C%ED%82%B9+%EB%85%BC%EB%B8%94%EB%A1%9C%ED%82%B9&tqi=TrI9KwpySoosstG94qdsssssttZ-419722
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
참고해보세요.
//각 함수의 인자값. 리턴값. 오류값,을 확인해보시기 바랍니다.
http://codepad.org/a27QWuKg
unsigned printf
https://www.google.co.kr/search?source=hp&ei=dvq_WorBJILw0ATV8J_IDg&q=unsigned+printf&oq=unsigned+printf&gs_l=psy-ab.3...16720.21795.0.21959.17.13.0.0.0.0.0.0..0.0....0...1c.1.64.psy-ab..17.0.0.0...0.NihaaDbLmpc
https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=1&ie=utf8&query=unsigned+printf
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
겸사 겸사 클래스도 확인
http://codepad.org/s5M3mfii
//출력 결과
PacketHead()
Login_Request()
PacketHead( lr, size)
ID_value : test1
_ID : test1
_ID : test1
virtual ~Login_Request()
virtual ~PacketHead()
virtual ~Login_Request()
virtual ~PacketHead()
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
댓글 달기