[C#] 토이 프로젝트 : Winform으로 캐치마인드 만들기 - 2
https://noob-programmer.tistory.com/59/#comment23398331
[C#] 토이 프로젝트 : Winform으로 캐치마인드 만들기 - 1
지난번에 채팅 프로그램을 만들고 해당 기능을 담고있는 새로운 프로그램을 만들어 보자.(회사에 일이 없어서 놀고있는건 비밀) 우선 어떤 프로그램을 만들어 볼지 생각해 보았다.# 아이디어1. D
noob-programmer.tistory.com
1편에 이어 2편을 작성해보자..
완성은 진작에 했지만 늦게 올린다..
우선 완성된 기능들에 대해 전체 나열을 해보자면
1. 닉네임을 설정하여 방을 만들거나 참여.
2. 방 참여를 할 경우 이미 만들어진 방의 IP와 PORT를 입력하여 참여.
3. 방 만들기를 누를경우 내IP, PORT로 다른 유저가 참여할 수 있다.
3. 맨처음 프로그램을 실행 시 방장이 술래이며 주제를 선택 후 주제 설정 버튼을 클릭하여 주제를 확정.
4. 제한시간을 설정한 후 게임시작 버튼을 눌러 게임 진행.
5. 참여자는 술래가 그리는 그림을 보고 채팅에 입력하여 정답을 유추.
6. 정답을 맞춘 참여자가 다음 술래가 되며, 3번부터 다시 시작.
7. 방장의 한해 유저를 추방, 차단할 수 있고 목록을 확인하고 차단을 해제할 수 있음.
이 기능들을 만들 때 고민하고 해결했던 부분들은 다음과 같다.
Q1. 게임 타이머를 넣은건 좋은데 왜 방장의 화면에서만 타이머가 돌아가는게 보이지..?
A1. 서버나 클라이언트가 부담이 될 지 모르겠지만 타이머가 돌때마다 클아이언트에게 타이머를 전송하는 방식으로 해결
Q2. 이미지를 그릴 때 픽셀이 변경될 때마다 전송하는게 맞을까? 그리고 왜 클라이언트가 그리면 다른 사람에게는 안보이는거지..?
A2. 전송 방식은 2가지로 구현해둠. 변경될 때마다 전송하는 방식과 마우스를 땔 때(좌클릭을 땔 때)마다 전송하는 방식. 클라이언트가 그리면 다른사람에게 안보이는건 접속한 유저에게 전송하는 방식이 서버측에만 구현해놨었다.. 클라이언트도 전송하자..
Q3. 차단 방법에 IP를 사용했는데 VPN을 사용하면..?
A3. 하드웨어의 정보를 수집하여 차단할 수도 있겠지만 너무 개인정보 수집을 하는 것이 아닐까?해서 일단 제외함.(사실 IP도 마찬가지긴한데..)
이외에도 수많은 고민을 했었는데 시간이 지나서 잘 생각이 나지 않는다..
프로그램을 사용해보고 싶으신 분들이 있으면 댓글 달아주시고 요청하시는 분이 많이 있으시면 공유 해볼게요..
(아직 각종 버그와 로컬에서만 테스트해서 차단은 제대로 테스트를 못했지만요..)