42Seoul-IRC / ft_irc

0 stars 0 forks source link

Memory Leak & nc packet 강제 전송 부분 점검 필요 #30

Closed Tolerblanc closed 1 year ago

Tolerblanc commented 1 year ago

메모리 릭이 생길 지점은 별로 없어 보이지만, 그래도 평가 전에 점검이 필요해 보입니다.

nc를 통해서 정해진 형식을 벗어난 패킷을 전송했을 때의 테스트도 부족합니다.

진행하신 테스트를 해당 이슈에 적어주시면 좋을 것 같습니다.

Tolerblanc commented 1 year ago

동적할당 하는 부분

  1. ChannelManager가 새 Channel객체를 만들 때

    void    ChannelManager::createChannelByName(const std::string& channel_name)
  2. ClientManager가 새 Client객체를 만들 때

    void    ClientManager::addClientBySocket(int socket)
  3. PacketManagerPacketMaker를 초기화 할 때

    PacketManager::PacketManager()
Tolerblanc commented 1 year ago

메모리 누수는 신경 안써도 될 것 같습니다. 소멸자 호출이 자동이라서, 아무리 테스트를 해봐도 해제를 안하는 부분이 없네요

Tolerblanc commented 1 year ago

혹시 nc로 추가적인 테스트 진행해보셨던거 있으신가요??

www-castlehi-com commented 1 year ago

아뇨 아직 코드 쭉 보고 있습니다! 다 보고 nc로 CRLF 설정 넘겨줬을 때 512자 넘는 거에 대해서 한번 테스트해보려구요

www-castlehi-com commented 1 year ago

처음 연결할 때 512자 넘는 명령에 대해서 메시지 유실에 책임지지 않는다는 류의 말을 쓰는ㄱ ㅔ어떨까요

www-castlehi-com commented 1 year ago

image

image

멘데토리 eof도 잘 동작하네요

Tolerblanc commented 1 year ago

와 이게되네 ㄷㄷ

Tolerblanc commented 1 year ago

처음 연결할 때 512자 넘는 명령에 대해서 메시지 유실에 책임지지 않는다는 류의 말을 쓰는ㄱ ㅔ어떨까요

inspircd처럼 주의사항이랑 인사 메시지 같은거 적어서 넘겨주는 것도 좋아보이네요!

www-castlehi-com commented 1 year ago

와 이게되네 ㄷㄷ

근데 이제 원리는 모르는.. 만들었더니 됐어요

www-castlehi-com commented 1 year ago

아스키로 웰컴메시지쓰려고 했는데 어디다 쓰는지 아시나요? 아무리 생각해도 main에서 std::cout으로 찍는건 아닐 것 같은데

Tolerblanc commented 1 year ago

서버 초기화 메시지도 찍어주는게 좋을 것 같네요. 서버 소켓 할당이나 listen on 같은거? -> std::cout

웰컴메시지는 RPL_Welcome에다가 계속 send 하면 될 것 같습니다

www-castlehi-com commented 1 year ago
image

오호

www-castlehi-com commented 1 year ago

서버 초기화 메시지도 찍어주는게 좋을 것 같네요. 서버 소켓 할당이나 listen on 같은거? -> std::cout

웰컴메시지는 RPL_Welcome에다가 계속 send 하면 될 것 같습니다

요거(+512자 제한 메시지)는 낼 점심 먹기 전에 같이 해보죠! 하려고 했는데 너무 졸리네요..

Tolerblanc commented 1 year ago

서버 초기화 되면, 간단하게 몇 번 포트 대기중인지만 출력하게 수정해서 커밋했습니다! 웰컴메시지는 그냥 Message 만들어서 sendPacket()만 계속 해주면 되니까, 오전에 후딱 만들어서 제출해보죵