yehey's 공부 노트 \n ο(=•ω<=)ρ⌒☆

2020-1 사이버보안 기초 프로젝트 본문

개발/프로젝트

2020-1 사이버보안 기초 프로젝트

yehey 2020. 9. 2. 20:41

200627_사기프_6팀_최종보고서.pdf
1.24MB

 

프로젝트 하면서 느낀점

학교에서 진행한 첫 팀프로젝트였다.

 

아무것도 모르는 채로 시작해서 프로젝트 제안서 형식부터 피드백 엄청 받고 지적도 많이 받았지만 다같이 열심히 노력해서 마무리를 잘해서, 우리 힘으로 만든 귀여운 게임이어서 기억에 오래 남을 것 같다. 

 

지적을 받은만큼 프로젝트 시작을 어떻게 해야하는지, 과정은 어때야 하는지 많이 배웠다. 

 

앞으로 다른 프로젝트 할 때 많은 도움이 될 것 같다. 

 

소스코드 및 실행 방법

우리는 putty 리눅스에서 실행파일을 만들었다. (수업시간에 이 방법 말고는 배운 것이 없었다. 기회가 된다면 진짜 프로그램 만들고 싶다.)

 

vi editor를 이용해서 코드를 입력해주고 헤더 파일, 텍스트 파일 등을 제외한 .c파일들을 함께 컴파일 해주었다. client 파일은 따로 컴파일!(이 과정에서 오류란 오류는 다 만난 것 같다. 확실히 하나하나 테스트하면서 디버깅하는게 시간은 오래 걸리지만 효과는 좋았다.)

 

아무래도 게임 진행에 필요한 기능을 구현하는 것보다 소켓 프로그래밍에서 시간이 오래 걸렸다.

소켓 프로그래밍을 한번도 배워본 적이 없어서 열심히 구글링을 통해 배우면서 진행했다.(진짜 힘들었다.)

 

동시에 4명의 플레이어가 진행하는 게임이었기 때문에 하나의 서버에서 진행하면

응답과 요청이 서로 얽혀 원하는 결과가 나오지 않았다.

  

그래서 서버 프로그램을 열어 두면 클라이언트가 서버에 접속할 때 서버가 클라이언트 별로 게임 진행 쓰레드를 하나씩 시작하게하는 방법을 이용했다.

 

요청과 응답을 받으면서 이상하게 우리가 입력하지 않은 문자가 같이 출력되는 오류가 계속되었다. 

버퍼에 문제가 있다는 것을 알고 있지만 정확히 무엇이 문제인지 몰라서 해결을 미루었다.

 

소스코드를 멍 때리고 보다가 이상하게 우리의 버퍼는 계속해서 크기를 재조정 하거나 새로운 버퍼를 만들었다는 것을 인지했다.

전부를 뜯어고칠 생각은 못하고 기존에 메인에서 사용하던 버퍼와 새로 만든 버퍼들의 크기를 하나하나 256으로 바꾸어 주었다.

=> 모든 버퍼의 크기를 통일시켰다. (바보같은 실수였다. 다음부터는 꼭 변수와 함수 이름, 크기를 미리 확실히 정리해야겠음.)

 

이 외에도 많은 오류들을 해결했는데 시간이 지나서인지 생각이 잘 나질 않는다. 

기억이 미화된 것 같다. 그래도 그만큼 성공적으로 기능을 구현했으니 첫 프로젝트지만 만족도가 높다. 

 

앞으로 어떤 프로젝트를 더 진행할 지 모르겠지만 배운만큼 잘 할 수 있을 것 같고 기대된다!

 

소스코드 보기↓

https://github.com/yehey-1030/2020-1-FOR_ESCAPE_Project

 

yehey-1030/2020-1-FOR_ESCAPE_Project

2020-1 사이버보안 기초 프로젝트 (팀프로젝트) 소스 코드. Contribute to yehey-1030/2020-1-FOR_ESCAPE_Project development by creating an account on GitHub.

github.com

 

동작화면 

 

1대의 컴퓨터에서 게임 서버를 실행 후 4대의 컴퓨터에서 각각 게임 서버에 접속해 게임을 하는 과정이해를 조금 더 돕기위해 자막을 달았지만 동영상 공유 과정에서 문제가 있었는지 영상화질이 좋지 않다.

(다시는 카톡으로 영상 공유하지 않을 것이다)

 

 

 

Comments