메세지를 주고받는 프로그램을 만들고 십습니까? 이게 중요한거요^^ 1대1이냐? 아니면 여러사람이랑 하는 거냐?
먼저 1대1로 어떻게 하는지 알아보죠^^ 뷁(사용자)---서버---엥(사용자) 서버가 중간에 있다면 이건 식은죽 먹기죠~~ 다만 그 연결할것의 아이피를 차단하면 안되죠^^ 중요한것은 연결입니다. 패킷을 조종할줄 알아야하는데....... 음~ 예를 들자 도스에는 상대방 아이피와 명령어를 치면 그곳에 패킷이 보내져서 온라인인지 비 온라인인지 알수있죠^^ ㅠ.ㅠ 1패킷은 다른곳으로 가는 자료1개라는 뜻입니다. 그러니까? 500MB인 프로그램을 다른곳으로 보낼때(전송할때)는 여러번으로 분활하여 보내죠~ 창조의 언어를 조금만 익히면 만들수있는데 그 뒤로는 잘......
패킷에 문자(파일)+받는이의 아이피+받는 포트+프로그램에 인식될것 이런식이죠^^
중요한것은 프로그램이 이 패킷을 따로 낙아 채야한다는 겁니다.
창조로 이런걸 만들수 있을지는 의문사......
지상현 2006-07-09 PM 5:06:41
윈속같은 API가 준비되어 있습니다.
음... 예로 드신 1:1은 1:1이 아니군요...-_-;
일반적으로 패킷은 좀 더 많은 구조를 가지고 있습니다. IP 헤더에선 뭐 아이피와 포트 외에 단편화에 필요한 중요한 헤더가 붙어있고, 이 경우에선 하위 프로토콜인 TCP 헤더가 붙어서 가겠죠. 참고로 핑을 보낼 때 사용하는 프로토콜은 ICMP 라서 TCP랑은 다른...
IP 헤더의 크기 필드가 16비트이므로 이론적으로 한 패킷은 65536 바이트의 크기를 가질 수 있습니다. 그런데 여러 협상을 거치다보면 실제로는 8KB 정도 나옵니다. 아주 먼 WAN을 거치는 경우라면 512 바이트가 나오는 경우도...^^;
뭐 멀티캐스팅은 UDP에서 할 수 있는데 255.255.255.255 로 보낸다거나.
그냥 의미 없이 덧붙여봤습니다.
박재성 2006-07-11 AM 8:52:57
이런식의 자료라면 저도 만들었습니다.
물론 1:1 그러니까 즉! P2P 형태가 될수 없군요.
1:1(P2P)이란 사용자와 사용자끼리의 패킷을 주고 받는 행위이지
사용자 중간에서 서버가 끼어들어 패킷을 나누어준다면
그것은 P2P 가 될수 없습니다.
지상현님이 잘 지적해주셨구요.
아직까지 창조에서 winsock 제대로 구현된바가 없으며.
구현되기까지는 오랜시간이 걸릴거라
보여집니다.
미라클 메신져 또한 사용자 -> 서버