목록개인 프로젝트 공부 (12)
연습을 위해서 다양하게 코드를 수정해 본다. 1. 자신이 입력한 것을 전송하기클라이언트의 코드이다.message에 입력을 받아 send로 서버에 전송해 준다. message.data()가 아닌 message.c_str()로 전송하는 게 더욱 안전하다고 한다.string타입일 때는 c스타일로 변환해서 전송을 해야 한다. 2. 클라이언트에게 받은 문자열을 뒤집어서 다시 전송하기recv로 buffer에 문자열을 담고 string으로 바꾸어준다.문자열을 뒤집고 다시 클라이언트에게 전송한다.한 번에 string 객체로 받는 방법이 없어임시 buffer로 받은 다음에 변환해주어야 한다.참고고 recv()의 리턴값은 문자열 수신에 성공할 시 그의 길이를 받게 된다. 3. 비밀번호 입력에 따른 문자열 수신받기클..
클라이언트의 코드를 분석해 본다. #include #include #include #include #include #include #include #define PORT 8080#define BUFFER_SIZE 1024int main() { int sock = 0; struct sockaddr_in serv_addr; char buffer[BUFFER_SIZE] = {0}; // 소켓 파일 디스크립터 생성 if ((sock = socket(AF_INET, SOCK_STREAM, 0)) 전체 코드이다. // 소켓 파일 디스크립터 생성 if ((sock = socket(AF_INET, SOCK_STREAM, 0)) 이 부분은 전 서버와 같이socket()을 이용해..
이번에는 연습으로 c++로 소켓 프로그램을 구현해보려 한다.c++로는 처음 구현해 보아 gpt의 힘을 빌려공부를 진행하기로 했다. 결과부터 확인을 해보면 이게 서버의 결과 이건 클라이언트의 결과이다. 서버의 코드부터 분석을 진행해본다.#include #include #include #include #include #include #include #define PORT 8080#define BUFFER_SIZE 1024using namespace std;int main() { int server_fd, new_socket; struct sockaddr_in address; int addrlen = sizeof(address); char buffer[BUFFER_SIZ..
공부해 볼 겸 개인 프로젝트를 시작해보려고 한다.멀티스레드 기반으로 클라이언트에게 파일을 전송해 주는 서버를 만들어 보려고 한다.더 나아가서 암호화 복호화를 통해 파일의 내용을 탈취할 수 없게 만드는 기능까지 넣어보려고 한다. 환경부터 세팅을 해주었다.먼저 우분투를 다운 받아준다. 그다음 vscode를 깔고 extension팩을 다운로드하여준다. gcc가 깔려있나 확인했는데 깔려있다.컴파일 및 빌드를 하려 하면 이런 오류가 나오는데 tasks 및 launch 파일을 생성해 주면 된다.근데 요즘은 자동으로 설정을 해주기 때문에 편했다. 빌드가 잘된다.