리눅스 멀티스레드 파일 공유 프로그램 - 7 본문
집에서 다른 컴퓨터와 소켓통신을 가능하게 만들어줄 것이다.
이를 통해 개발내용 업데이트 사항을 다른 PC에 쉽게 전달할 수 있는 환경을 만들어주는 게 목표이다.
먼저 네트워크 설정을 해주어야 한다.
VMware는 Edit에서 수정을 해준다.
Bridged를 통해 가상머신의 IP를 공유기에 다이렉트로 연결해 준다.
즉 host IP와 동일선상의 위치에 서있게 만들어준다.
그 후 우분투의 네트워크 설정을 Bridged로 선택해 준다.
클라이언트도 이와 동일하게 해 준다.
.
IP가 바뀌었다.
이제 연결이 잘되는지 확인하기 위해
서버의 코드를 수정해 주었다.
while(true)
{
struct sockaddr_in client_addr;
int client_addrlen = sizeof(client_addr);
if ((new_socket = accept(server_fd, (struct sockaddr *)&client_addr, (socklen_t*)&client_addrlen)) < 0) {
std::cerr << "Accept failed" << std::endl;
return -1;
}
cout << "Client IP : " << inToip(client_addr.sin_addr.s_addr) << endl;
pthread_t thread;
int result = pthread_create(&thread, NULL, clientHandler, &new_socket);
pthread_detach(thread);
}
#include <arpa/inet.h>
string inToip(uint32_t ip){
struct in_addr ip_addr;
ip_addr.s_addr = ip;
return string(inet_ntoa(ip_addr));
}
연결되는 Client IP를 확인하기 위해 정수로 되어있는 ip를 보기 좋게 바꾸어 준다.
또한 클라이언트에서 서버에 연결할 IP도 "192.168.219.101"로 바꾸어주었다.
동일한 로컬 네트워크에서 접속이 되는 것을 확인할 수 있었다.
외부에서 접근하기 위해서는 공유기 포트포워딩 설정을 해주어야 한다.
아직은 쓸 필요가 없어 나중에 진행하기로 했다.
'개발 > 개인공부' 카테고리의 다른 글
리눅스 멀티스레드 파일 공유 프로그램 - 9 (1) | 2024.06.14 |
---|---|
리눅스 멀티스레드 파일 공유 프로그램 - 8 (0) | 2024.06.12 |
리눅스 멀티스레드 파일 공유 프로그램 - 6 (0) | 2024.06.10 |
리눅스 멀티스레드 파일 공유 프로그램 - 5 (0) | 2024.06.08 |
리눅스 멀티스레드 파일 공유 프로그램 - 4 (0) | 2024.06.08 |
Comments