P2P 네트워크 구성 질문 드립니다.
조회수 462회
제가 p2p 환경을 간단하게 구현하고,
블록체인 기능도 추가해서 맨땅에 하려고 합니다.
(네트워크/ 블록체인에 관심이 많아서요)
그런데 지금 문제점이 저는 Winsock2.h 이용해서 만들고 있습니다. 만들던 중에
accetp() 함수를 사용하려고 하니 런타임아웃에 빠지니까 스레드를 이용해서 구현을 해야겠다라고 생각이 들더군요... 근데 또 이게 맞는가 싶기도 하고 갈피를 못 잡겠네요...
#include <iostream>
#include "main.h"
using namespace std;
int main()
{
WSADATA wsdata;
int v_check = WSAStartup(MAKEWORD(2, 2), &wsdata);
if (v_check != 0) { // 0일 때 True , 나머지 false
cout << "버전을 확인 해주세요" << "\n";
}
SOCKET ser_sock;
ser_sock = socket(AF_INET, SOCK_STREAM, 0);
SOCKADDR_IN ser_addr;
ser_addr.sin_family = AF_INET;
ser_addr.sin_port = htons(30000);
ser_addr.sin_addr.S_un.S_addr = ADDR_ANY;
if (bind(ser_sock, (SOCKADDR*)&ser_addr, sizeof(ser_addr)) == SOCKET_ERROR) {
cout << "bind fail" << WSAGetLastError() << "\n";
}
if (listen(ser_sock, SOMAXCONN) == SOCKET_ERROR){
cout << "listen fail" << WSAGetLastError() << "\n";
}
// accept(); 클라이언트가 접근을 안 하면 무한정 대기상태로 빠짐
// WSAAsyncSelect(); 윈도우 폼 이용할때 비동기 식으로 처리함
// 스레드 개념 배우기
//
WSACleanup();
}
1.소켓을 당연히 먼저 연결 하고 그 다음 노드를 찾고 연결하는 기능을 추가해야 하는건가.... (소켓연결 후 > 노드찾는 기능 + 연결 기능 구현 )
2.노드찾고 연결하는 기능을 바로 구현해서 통신을 하게 해야 하는건가 ??? 감이 잘 잡히지가 않네요 (그냥 바로 > 노드찾는 기능 + 연결기능)
인터넷에 p2p 튜토리얼을 찾아 봤는데 없더라구요...
대부분 Server/Client 만 있고 조금이라도 언지를 주시면
제가 이것저것 알게되서 만들수도 있으니 선배님들의 지식이 필요합니다.ㅠㅠ
저도 분산원장 원리는 알고있지만 막상 네트워크적으로 통신하면서 만들려고하니까
생각보다 어렵네요ㅠㅠ 이론과 코딩의 괴리감이랄까요..
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력