1:1 원격 오목 프로그램을 만드려고 합니다...
빛다
if(mysocket.Listen())
{
mysocket.Accept(s_clientsocket,&m_clientaddr,&m_addrlen);
AfxMessageBox(연결 성공);
}
방만들기 버튼을 누르면 위의 코드가 실행되어 서버의 역할을 하고자 합니다
oncreat에서 포트는 9203으로 지정해 주었고요 제 시스템에서 사용중인 포트가 아니었습니다.
mysocket, s_clientsocket 은 CSocket변수고요
m_clientaddr은 SOCKADDR변수,
m_addrlen은 int형 변수이고
위 두 변수는 아직 초기화가 되지 않았습니다.
그런데 테스트를 해 보았더니 요청 연결이 없었음에도 불구하고
리슨 함수가 참을 반환하고 쭈욱 진행되었습니다.
그리고 GetLastError를 해 보니 listen 다음에서는 에러가 0,
Accept 다음에서는 10014 에러가 발생하였습니다.CSocket 은 블로킹 모드라 listen에서 요청이 없으면 대기해야 되지 않나요?
CSocket 으로 데이터 주고받는(아마도 두 정수형 변수일듯 합니다) 예제좀 보여주시면 감사하겠습니다.
참고로 저는 무선랜을 쓰고 있고 V3 IS 2007의 개인 방화벽을 사용하고 있으며
인터넷에 연결되어 있고 자동 아이피로 접속하였습니다.
접속한 곳은 iptime이고 보안되지 않은 네트워크 입니다.
그리고 운영체제는 윈도 비스타를 쓰고 있습니다.
-
노을빛
아 그리고 프로젝트에서 윈속 사용 체크는 해 두었습니다.
나머지는 그대로 두고요 -
올해1살
그렇게 해서 connect(아이피, 무슨 아이피 길이?) 이런 명령을 실행하려고 합니다.
주소의 길이? 가 무슨뜻인가요? connect가 인자 두개를 받던데... -
내꺼
아 그리고 SOCKADDR 지정하는 방법좀 알려주세요...
저렇게 서버 만들고 이제 접속하는 클라이언트에서 서버 역할을
하는 컴퓨터의 아이피를 입력하게 되어 있어요..
물론 클라이언트의 포트도 같고요..
입력 형식은 CString으로 192.123.135.78 이런 형식입니다.