디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

네트워크 프로그래밍 질문.

화택씨갤로그로 이동합니다. 2010.10.29 12:31:55
조회 95 추천 0 댓글 1

// 서버 //

#include <iostream>
#include <Windows.h>
using namespace std;

#pragma comment(lib,"ws2_32.lib")

char rbuf[128];
char sbuf[128];

DWORD WINAPI proc1(LPVOID lpvoid)
{
while(1)
{
int rv;
rv=recv((SOCKET)lpvoid,rbuf,512,NULL); // 0 이면 연결이 끊긴것.
if(rv==0 || rv==SOCKET_ERROR)
break;
cout << rbuf << endl;
}

return 0;
}

DWORD WINAPI proc2(LPVOID lpvoid)
{
while(1)
{
gets(sbuf);
send((SOCKET)lpvoid,sbuf,512,NULL);
}

return 0;
}

int main()
{
// 윈속 초기화 -> !=0) 가 에러
WSADATA wsa;
if(WSAStartup(MAKEWORD(2,2),&wsa)!=0)
cout << "WSAStartup 에러" << endl;

// 소켓 생성 -> return 값 : SOCKET -> ==INVALID_SOCKET) 가 에러
SOCKET tcp_sock = socket(AF_INET,SOCK_STREAM,NULL);
if(tcp_sock==INVALID_SOCKET)
cout << "socket 에러" << endl;

// 구조체 생성, 초기화
SOCKADDR_IN sockaddr;
ZeroMemory(&sockaddr,sizeof(sockaddr));

sockaddr.sin_addr.s_addr= htonl(INADDR_ANY);
sockaddr.sin_family = AF_INET;
sockaddr.sin_port = htons(22432);

// bind -> ==SOCKET_ERROR) 가 에러
int error;
error = bind(tcp_sock,(SOCKADDR*)&sockaddr,sizeof(sockaddr));
if(error==SOCKET_ERROR)
cout << "bind 에러" << endl;

// listen -> ==SOCKET_ERROR) 가 에러
error = listen(tcp_sock,SOMAXCONN);
if(error==SOCKET_ERROR)
cout << "listen 에러" << endl;

// accept -> ==INVALID_SOCKET) 가 에러
SOCKADDR_IN clientaddr;
ZeroMemory(&clientaddr,sizeof(clientaddr));

int clientlen = sizeof(clientaddr);
SOCKET clientsock = accept(tcp_sock,(SOCKADDR*)&clientaddr,&clientlen);
if(clientsock==INVALID_SOCKET)
cout << "accept 에러" << endl;

// 통신 시작
cout << "accept 연결" << endl;

DWORD rw;
CreateThread(0,0,proc1,(LPVOID)tcp_sock,NULL,&rw);
CreateThread(0,0,proc2,(LPVOID)tcp_sock,NULL,&rw);

while(1){}

// 소켓 종료
closesocket(tcp_sock);

// 윈속 종료
WSACleanup();
}


// 클라이언트 //

#include <iostream>
#include <Windows.h>
using namespace std;

#pragma comment(lib,"ws2_32.lib")

char rbuf[128];
char sbuf[128];

DWORD WINAPI proc1(LPVOID lpvoid)
{
while(1)
{
int rv;
rv=recv((SOCKET)lpvoid,rbuf,512,NULL); // 0 이면 연결이 끊긴것.
if(rv==0 || rv==SOCKET_ERROR)
break;
cout << rbuf << endl;
}

return 0;
}

DWORD WINAPI proc2(LPVOID lpvoid)
{
while(1)
{
gets(sbuf);
send((SOCKET)lpvoid,sbuf,512,NULL);
}

return 0;
}

int main()
{
// 윈속 초기화
WSADATA wsa;
WSAStartup(MAKEWORD(2,2),&wsa);

// 소켓 생성 -> return 값 : SOCKET
SOCKET tcp_sock = (AF_INET,SOCK_STREAM,NULL);
if(tcp_sock==INVALID_SOCKET)
cout << "socket 에러" << endl;

// 구조체 생성, 초기화
SOCKADDR_IN sockaddr;
ZeroMemory(&sockaddr,sizeof(sockaddr));
sockaddr.sin_addr.s_addr = inet_addr("192.168.0.60");
sockaddr.sin_family = AF_INET;
sockaddr.sin_port = htons(22432);

// connect();
connect(tcp_sock,(SOCKADDR*)&sockaddr,sizeof(sockaddr));

// 통신 시작
cout << "connect!" << endl;

DWORD rw;
CreateThread(0,0,proc1,(LPVOID)tcp_sock,NULL,&rw);
CreateThread(0,0,proc2,(LPVOID)tcp_sock,NULL,&rw);

while(1){}


// 소켓 종료
closesocket(tcp_sock);

// 윈속 종료
WSACleanup();
}

------------------------

서버가 있고, 클라이언트가 있고.
그냥 둘이서 1:1로 실시간으로 대화하는 프로그램인데.

아무리 해도 서버에 연결이 되지 않습니다.
어떤것이 문제인가요. 알려주세요.

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 끝까지 다 본 걸 후회하게 만든 용두사미 드라마는? 운영자 25/07/07 - -
349548 아~ 녀석들. 니 손은 얼만큼 날씬하냐? [25] ㅇㅇ(119.203) 13.03.16 233 0
349547 이번에 들어간 회사에서 노트북 골르라고 합니다... [4] 김성민(222.110) 13.03.16 172 0
349546 닷넷 4.0, 4.5 관련 책이나 문서 추천좀... [13] 규식이(218.153) 13.03.16 109 0
349545 물론 다들 그러진 않겠지만.,, [3] LastCorona갤로그로 이동합니다. 13.03.16 87 0
349544 일하면서 디씨하는거야??? [3] ㅁㄴㅇ(1.245) 13.03.16 81 0
349543 불금이야 이시키들아!! [7] LastCorona갤로그로 이동합니다. 13.03.16 72 0
349542 프갤이나 싸이엔지 등 사이트 연구원 분들은 보안에 신경쓰세요 [6] 에어로홍갤로그로 이동합니다. 13.03.16 139 0
349540 airwig 는 본다. [17] ㅇㅇ(119.203) 13.03.16 1837 0
349539 조만간 로봇과 테니스를 칠 날이 옵니다 [2] 에어로홍갤로그로 이동합니다. 13.03.16 52 0
349537 짝 다운 받아 보는데 이번 여자들이 연예인들이었구나!! [1] 멍청닭(182.211) 13.03.16 67 0
349536 불구님 보세요 The Jedi Mind Control Game [1] 에어로홍갤로그로 이동합니다. 13.03.16 45 0
349534 프갤에 이제 뇌파로 글쓰는넘도 유입됬네. [2] ㅇㅇ(115.41) 13.03.15 82 0
349533 nodejs에서 뷰를 html로 쓸려면 어떻게 하나용? [1] 후후(1.231) 13.03.15 61 0
349532 움직일 수 있는 곳이 눈과 입밖에 없어 돈을 못 벌고 있습니다... [4] 불구(211.189) 13.03.15 88 0
349531 시밤 델파이 창 고정 안됨?? [4] 멍청닭(182.211) 13.03.15 95 0
349530 directshow에서 Imediaseeking 의 setposition을 루프로 돌리면 먹통이 되는데 해결방법 아는 사람 있어? 흐강갤로그로 이동합니다. 13.03.15 34 0
349529 형님들 제발 피자 한 판만 쏴 주십쇼. 제가 진짜 너무 힘듭니다. [2] 사지장애거지(211.189) 13.03.15 79 0
349528 현재 기계학습 기술은 어느정도까지 발전한 상태인가요? ㅁㄴㅇㄹ(220.117) 13.03.15 66 0
349527 저기 홈페이지 제작 관련.ask [1] ㅁㄴㅇㄹ(121.190) 13.03.15 82 0
349523 백왕님 [1] (1.214) 13.03.15 64 0
349521 어이없음 금융권에서 JAVA ORACLE RAD툴 세개 안쓰는데가 있음? [4] 바보아싸갤로그로 이동합니다. 13.03.15 165 0
349520 아 ㅅㅂ 오늘 일찍자야겠다 (1.214) 13.03.15 65 0
349519 유닉스/리눅스 시스템콜 잘아는횽 헬프 [5] help(113.130) 13.03.15 217 0
349517 오늘도 프갤은 [4] (1.214) 13.03.15 96 0
349516 내일 아침 9시 프갤에 피자잭팟 터짐 [1] ㅇㅇ(223.33) 13.03.15 94 0
349515 샤워하고 왔더니 페이지가 넘어가네. fm100(220.76) 13.03.15 42 0
349514 만나서 대결하면 진짜 볼만하겟다 [3] 백이(182.214) 13.03.15 113 0
349511 횽들 지역변수 선언은 제일 위에다 하는게 좋을까 필요할때 마다 그 줄에 [1] 김삼디(110.9) 13.03.15 55 0
349510 프갤 현피하면 서로노트북들고와서 [5] 93년생미필(1.242) 13.03.15 149 0
349508 만나서 승부보면 되겠네 [1] 루비•‿•갤로그로 이동합니다. 13.03.15 93 0
349507 우와 프갤키배클라스짱짱하시네여 [1] 93년생미필(1.242) 13.03.15 63 0
349505 형들은 윈8 어케 생각하냐 [3] 분당살람갤로그로 이동합니다. 13.03.15 127 0
349502 좆뉴비인데 어떤언어에서나 코어라는게 [2] 좆뉴(121.186) 13.03.15 102 0
349500 저런 재밌는거 하고 싶다. [2] 바보아싸갤로그로 이동합니다. 13.03.15 148 0
349499 에피톤 프로젝트 (Epitone Project)_선인장 (Acoustic 에어로홍갤로그로 이동합니다. 13.03.15 51 0
349498 프갤횽들 컴공 신입생인데요, 프로그래밍은 테크트리가 어떻게 되나요? ㅁㄴㅇㄹ(220.117) 13.03.15 91 0
349497 떡밥이 넘쳐나는 프갤. [2] fm100(220.76) 13.03.15 79 0
349494 솔직히 밑에 키배 다 알아듣는분계세요? [2] ㅇㅇ(223.33) 13.03.15 94 0
349493 난 일하는거 따라가기도 힘든데. fm100(220.76) 13.03.15 54 0
349492 프갤이 활발하니 좋네요 [1] 바보아싸갤로그로 이동합니다. 13.03.15 113 0
349491 플밍갤 왜케 활기를 뜀?? [1] youu(121.186) 13.03.15 61 0
349486 백만 팩토리얼 5초안에 짤 실력이면 구글에서 데려감 [5] d(220.94) 13.03.15 226 0
349485 Node js 좀 하다가 걍 python , 뻘글 바보아싸갤로그로 이동합니다. 13.03.15 224 0
349484 싱글게임의 제한을 깨뜨려 주실 분 구합니다. 징기스칸4갤로그로 이동합니다. 13.03.15 33 0
349483 이 상황에서 c(175.208) 13.03.15 61 0
349482 ㅇㅇ형 간단한질문하나만 받아줘 [2] 삐쭊이(211.218) 13.03.15 94 0
349480 글쓴것도 별거 없는데 뭐야 [1] ㅋㄱ(183.96) 13.03.15 85 0
349477 급여인증 [202] ㅇㅇ(119.203) 13.03.15 3506 1
349474 제 1회 프갤 토론 배틀 [2] 백이(182.214) 13.03.15 79 0
349473 싱글게임의 제한을 깨뜨려 주실 분 구합니다. 징기스칸4갤로그로 이동합니다. 13.03.15 41 0
뉴스 박정민 “고려대 조치원 나온 주제에…” 댓글에 보인 반응 디시트렌드 07.08
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2