디시인사이드 갤러리

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

갤러리 본문 영역

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

화택씨갤로그로 이동합니다. 2010.10.29 12:31:55
조회 83 추천 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
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 어떤 상황이 닥쳐도 지갑 절대 안 열 것 같은 스타는? 운영자 24/05/20 - -
222152 성적관리프로그램같은 거 하나 제대로 못 만들면 프로그래밍 접어야되나요? [17] 하앍하앍(123.199) 10.12.04 189 0
222151 선배님들 더블포인터에 대해 다시 질문이 있습니다. [64] OOOO(119.202) 10.12.04 975 1
222149 프갤이 죽어가 [5] 홍다(114.199) 10.12.04 60 0
222147 c#이랑 블로그 연동해서 블로그에 글싸는거 촘.. 아시는분.. [1] 빡곰갤로그로 이동합니다. 10.12.04 104 0
222145 playing with c [3] 로레안갤로그로 이동합니다. 10.12.04 100 0
222144 나 여자소개 받음 [2] 핵주의자갤로그로 이동합니다. 10.12.04 164 0
222143 32시간 근무서야된다. [2] 홍어(58.180) 10.12.04 131 0
222142 ...간신히 튀근했다. [4] DMW(125.138) 10.12.04 118 0
222140 고백했다 [5] monoless갤로그로 이동합니다. 10.12.04 98 0
222139 어제는 dot횽이 시키고 [5] 홍다(114.199) 10.12.03 80 0
222138 실명할뻔 했다. [8] 머그컵갤로그로 이동합니다. 10.12.03 162 0
222137 형들 질문 하나만 답해주셈. 존나 간단한거임 [3] 형들아(220.73) 10.12.03 100 0
222136 횽들 매틀랩 이미지 불러오는거 관련해서 질문좀 할껭 [2] Enky갤로그로 이동합니다. 10.12.03 29 0
222135 열강c끝냈으니 다음번은 한빛소프트 c로 배우는 쉬운자료구조다 [3] 유리한추종자(118.91) 10.12.03 142 0
222134 홍다는 이글을 봅니다. [1] 생선맛물고기(211.202) 10.12.03 93 0
222133 우리나라대학생들은 한심하다 [6] 살려줭(114.206) 10.12.03 211 0
222131 알고리즘 이란게 중요한가여? [5] ㅇㅇ(211.169) 10.12.03 126 0
222130 AJAX하면서 Refresh 제대로 안된적 있어? [4] 넉넉한터갤로그로 이동합니다. 10.12.03 109 0
222129 멜로디 ic 이모군(1.225) 10.12.03 163 0
222128 내가 오디오 i/o프로그램 만들어야 되는데 얼마나 걸릴까요 [4] mfc(211.59) 10.12.03 75 0
222127 웹사이트 DB설계좀도와주세요 ㅜㅜ [3] sugarflow(118.103) 10.12.03 96 0
222125 라스타 갓파더 예고편 봤는데... [2] 물속의다이아갤로그로 이동합니다. 10.12.03 88 0
222122 형들 이거 맞나여? [3] 9898(118.37) 10.12.03 49 0
222121 외로운 물다의 아이폰 앱 '오빠 나야' 2불 주고 구입 [1] 물속의다이아갤로그로 이동합니다. 10.12.03 174 0
222120 파이썬 배울수있는 최고의 사이트는 [9] 홍다(114.199) 10.12.03 173 0
222116 후위표기식 하나만 여쭈워봐도 괜찮을까요 [1] 잉잉(125.128) 10.12.03 105 0
222115 형들 병맛문과생을 위해 젖밥 파이썬좀 풀어줘...ㅠㅠㅠㅠ [4] 도시의하늘(142.151) 10.12.03 88 0
222114 아드뎌열강c끝냄 이젠뭐하지 자료구조? tcp/ip? [5] 유리한추종자(118.91) 10.12.03 164 0
222112 프로그래머의 하루 [1] new gay[max](183.105) 10.12.03 180 0
222110 근데 설포카 졸업생하고 건동홍 정도 졸업생하고... [1] 불꽃(124.153) 10.12.03 134 0
222109 프로그래머는 직장에서... [3] 불꽃(124.153) 10.12.03 153 0
222108 여긴 한글화 덕후 따윈 없나보다.. 일광면(119.198) 10.12.03 80 0
222107 이런 먱죵땽뚕의 elwlwlwk갤로그로 이동합니다. 10.12.03 49 0
222105 아 시발 한순간에 변태 됫다.. [6] 일광면(119.198) 10.12.03 195 0
222104 형들 [6] 파워준석갤로그로 이동합니다. 10.12.03 101 0
222103 부와앜ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 오류 해결!! ㅋㅋ 드디어 채팅방 완성 ㅋㅋㅋ [13] 형들아(220.73) 10.12.03 212 0
222102 레이텍 촹 좋음 [1] [성대아싸]갤로그로 이동합니다. 10.12.03 96 0
222101 C언어 아무것도모른다고 글썼던 2학년 뉴비임 [7] 파워준석갤로그로 이동합니다. 10.12.03 114 0
222100 간만에 숙제 셔틀 '파일에서 열의 최대값 구하기' [3] [성대아싸]갤로그로 이동합니다. 10.12.03 167 0
222099 아리아나 보려 가야지 [3] elwlwlwk갤로그로 이동합니다. 10.12.03 102 0
222098 부와앜ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ QT 해결 ㅋㅋㅋ [3] 어떡해갤로그로 이동합니다. 10.12.03 111 0
222097 안드로이드 태블릿 1호는 어디꺼임? [1] 홍어(58.180) 10.12.03 63 0
222096 구글 pro1tobuf 좋네 다람쥐v갤로그로 이동합니다. 10.12.03 110 0
222095 부칸의 도발에 강력 대응 하겠다 [7] elwlwlwk갤로그로 이동합니다. 10.12.03 117 0
222094 집에 나혼자 밖에 없는데 뭔가 의미있는 일 없을까 [10] elwlwlwk갤로그로 이동합니다. 10.12.03 112 0
222093 일본어 잔재론 - 엔하위키 [3] 모모이갤로그로 이동합니다. 10.12.03 237 0
222092 프로그래밍에 도움되는 Tip [4] 랜징징갤로그로 이동합니다. 10.12.03 233 0
222091 아... 당구 한게임 치고 저녁 먹고 데이트 하고 [1] 시불라미갤로그로 이동합니다. 10.12.03 106 0
222088 playing with c 솔루션 있으신분 급구합니다 로렌(211.37) 10.12.03 723 0
222087 허접이라서 또 왔어요 ㅋ;ㅋ;ㅋ;;이번에는 혼자해보려고 노력했는데 [7] 허접(121.169) 10.12.03 685 1
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2