디시인사이드 갤러리

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

갤러리 본문 영역

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

화택씨갤로그로 이동합니다. 2010.10.29 12:31:55
조회 94 추천 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 - -
AD 휴대폰 바꿀까? 특가 구매 찬스! 운영자 25/07/02 - -
349313 컴공과에서 좋은 직업 기려면 어떻게 해야하나요! [1] 횽들(121.180) 13.03.15 98 0
349312 컴공과 나오면 진로 살리나요? [1] 횽들(121.180) 13.03.15 265 0
349311 제가 이런 이야기까지는 하려고 안했는데. [4] 횽들(121.180) 13.03.15 106 0
349310 제가 왜 어그로입니까 형님들. 소통 좀 합시다. [3] 횽들(121.180) 13.03.15 75 0
349309 자료구조 과제 다했다... 점심땡갤로그로 이동합니다. 13.03.15 74 0
349308 웃대에서옴 서브루틴(211.243) 13.03.15 44 0
349307 저희 학교 OS수업 들은 선배가 그러던데요, MS는 신이래요 [2] 횽들(121.180) 13.03.15 156 0
349306 아 아까 시스템콜 질문한 애인데..한번만 더 도와줘.. [1] 도와줍쇼(112.187) 13.03.15 75 0
349305 MS OS 가 좆같은 이유 [7] ㅇㅇ(119.203) 13.03.14 327 0
349304 [3] 루비•‿•갤로그로 이동합니다. 13.03.14 94 0
349301 횽들 컴공에서 대학원가면 뭐 해요? [2] 횽들(119.202) 13.03.14 183 0
349300 야 갑자기 생각난건데.... [13] LastCorona갤로그로 이동합니다. 13.03.14 111 0
349299 횽들 컴퓨터구조라는 과목 강의 목표인데요 영어로 써져있어서 읽기 어렵네요 [3] 횽들(119.202) 13.03.14 94 0
349298 힉스입자가 프로그래밍에 끼칠영향 [3] ㅇㅇ(61.98) 13.03.14 129 0
349297 횽들 소프트웨어설계방법시간에는 뭐 배워요? [4] 횽들(119.202) 13.03.14 66 0
349296 횽들 마이크로프로세서 시간에는 뭐 배워용? [4] 횽들(119.202) 13.03.14 73 0
349295 횽들 컴퓨터그래픽스가 뭐에요? [5] 횽들(119.202) 13.03.14 89 0
349294 횽들 OS시간에는 뭐 배워여? [7] 횽들(119.202) 13.03.14 99 0
349293 머해 [2] 루비•‿•갤로그로 이동합니다. 13.03.14 58 0
349292 centos 사용이유가 대체뭐임? [14] ㄷㅈㄱ2(175.215) 13.03.14 137 0
349291 횽들 PL시간에 컴파일러 만드는거 한다는데 [3] 횽들(119.202) 13.03.14 62 0
349290 횽들 컴퓨터구조시간에는 뭐 배워용? [3] 횽들(119.202) 13.03.14 65 0
349289 횽들 컴공과 가면 뭐 배워여? [2] 횽들(119.202) 13.03.14 61 0
349288 우와 [1] 루비•‿•갤로그로 이동합니다. 13.03.14 48 0
349287 대장금? ㅇㅇ(119.203) 13.03.14 48 0
349286 횽들 PL 시간에 뭐 배워영? [5] 횽들(119.202) 13.03.14 53 0
349285 횽들 PL이 뭐하는 과목이에여? [2] 횽들(119.202) 13.03.14 56 0
349284 centos 깔아봣는데 ㄷㅈㄱ2(175.215) 13.03.14 34 0
349283 사랑하니까아아아아 사랑하니꺼아아어아ㅏ아어아 LastCorona갤로그로 이동합니다. 13.03.14 34 0
349280 빙그르 빙그르 빙글빙글 빙그르 빙그르 루비•‿•갤로그로 이동합니다. 13.03.14 33 0
349279 궁금한 것 하나쯤은 어때 이건 나만의 매력 루비•‿•갤로그로 이동합니다. 13.03.14 25 0
349278 그리고 또 하나의 이유는 비밀로 남겨둘래 루비•‿•갤로그로 이동합니다. 13.03.14 27 0
349277 미처 알지 못했던 세상을 내게 보여준 너에게 루비•‿•갤로그로 이동합니다. 13.03.14 25 0
349276 어느 무엇 하나 사랑따위 몰라라했던 나에게 루비•‿•갤로그로 이동합니다. 13.03.14 38 0
349275 drink it drink it power up내 사랑을 꾹꾹 눌러담았어 루비•‿•갤로그로 이동합니다. 13.03.14 26 0
349274 이리저리 망설이고 주저하고 후회하고 또 지쳐갈때 루비•‿•갤로그로 이동합니다. 13.03.14 31 0
349273 근데 하노이탑 재귀로 푸는거 [1] 듀스(124.153) 13.03.14 122 0
349272 그럴때 꼭 잊지마 나만의 special secret medicine 루비•‿•갤로그로 이동합니다. 13.03.14 28 0
349271 말로 하긴 힘들지 참 살다보면 가끔 그러지 루비•‿•갤로그로 이동합니다. 13.03.14 28 0
349270 빙그르 빙그르 빙글빙글 빙그르 빙그르 sweet witches 루비•‿•갤로그로 이동합니다. 13.03.14 24 0
349269 또 더하기 기쁨의 탄성도 이만큼의 윙크도 모아 루비•‿•갤로그로 이동합니다. 13.03.14 22 0
349268 약간의 눈물과 긴 한숨도 섞여있고 루비•‿•갤로그로 이동합니다. 13.03.14 25 0
349266 레몬보다 부드럽고 오렌지보다는 상큼해요 루비•‿•갤로그로 이동합니다. 13.03.14 32 0
349265 이건 참 비밀스런 레시피 너만을 위한 특제 medicine 루비•‿•갤로그로 이동합니다. 13.03.14 33 0
349264 그렇다면 hey 날봐 내게 아주 특별한 방법이 있지 루비•‿•갤로그로 이동합니다. 13.03.14 41 0
349263 콜록콜록 왜그래 어째오늘너피곤해보여 루비•‿•갤로그로 이동합니다. 13.03.14 46 0
349262 형들아.. 이산수학(명제/논리적동치법칙)이 너무 어려워..도와주라... [4] 코Sab갤로그로 이동합니다. 13.03.14 618 0
349261 형님.. 내가 개념이 없어서 질문하나만할께 [1] 도와줍쇼(112.187) 13.03.14 44 0
349260 취업어케함?? [5] 오옹(59.16) 13.03.14 112 0
349259 아크로에딧 글자색깔 계속 바꾸는거 없냐? 08학번공대생갤로그로 이동합니다. 13.03.14 38 0
뉴스 [티처스2] ‘IQ143’ 초3, 고3 수능 ‘4점 문제’ 암산으로 정복! 특급 초등영재 등장에 정승제 초흥분 “최상 수준” 디시트렌드 07.06
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2