일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 컴퓨터 강좌
- 한빛미디어
- 포인터
- Programming
- 긴옵션
- OS 커널
- newSQL
- 포인터변수
- TiKV
- Pointer
- Windows via c/c++
- DBMS 개발
- TiDB
- Golang
- 전처리기
- bash
- 약어
- 커널
- Symbol
- Preprocessor
- 구조와 원리
- UNIX
- SQLite
- 함수포인터
- DBMS
- getopts
- UNIX Internals
- FreeBSD
- kernel
- go
- Today
- Total
목록개발자 이야기/Network (5)
sonumb
1.개요 클라이언트가 어느 주소로 접속했는지 또한 어느 NIC로 접속했는지 서버측에서 알고 싶을 때, 아래와 같은 방법으로 이 정보를 획득한다. IP 주소획득은 getsockname()으로, NIC 이름은 getifaddrs()로 아래는 이 함수들을 이용해 실제 주소를 획득하는 예제다. ref 정보 https://stackoverflow.com/questions/848040/how-can-i-get-the-interface-name-index-associated-with-a-tcp-socket 아래는 IPv4 이며, IPv6용이 있는지 확인해봐야 한다. 2.소스 서버는 클라이언트 접속후 단순히 클라이언트 접속 NIC의 IP와 이름을 출력하며 이를 반복한다. server.c #include #include..
대체적으로 사용자의 패킷은 데이터 패킷이며 양이 크다. 따라서 전송 시 드랍 에러도 많이 일어난다. 따라서 해당 패킷을 데이터 패킷이라고 선언해야, Link Layer에서 후속조치를 해준다. 해결책 common/packet.h 파일 중 #define DATA_PACKET(type) ( (type) == PT_TCP || \ (type) == PT_TELNET || \ (type) == PT_CBR || \ (type) == PT_AUDIO || \ (type) == PT_VIDEO || \ (type) == PT_ACK || \ (type) == PT_SCTP || \ (type) == PT_PROTONAME || /* 자신의 패킷 타입추가 */ \ (type) == PT_SCTP_APP1 \ )
3가지 방법이 있다. 1. agent 간에 패킷에 해당 객체의 주소를 넣어 주고 받는다. (high complexity) 2. cc 코드 상에서 실행. MyAgent.cc class MyAgent: public Agent{ .. void get_aodv( void ); }; void MyAgent::get_aodv( void ){ Tcl& tcl=Tcl::instance(); sprintf( tcl.buffer(),"$node_(%d) set ragent_",addr() ); // TCL 코드상에서 $node_(번호)라는 변수가 선언이 되어야 한다. tcl.eval(); AODV* agent = (AODV*)TclObject::lookup(tcl.result()); agent->hello(); } Tcl..
1. Install ns-allinone-2.34 -> Googling other guys' articles! 2. Download from Sourceforge: AODV-UU at Sourceforge.net (Latest ver. 0.9.5) 3. Extract AODV-UU in "ns-allinone-2.34/ns-2.34" folder 4. Down & copy "ns-2.34-aodv-uu.patch" to folder("ns-2.34/aodv-uu-0.9.5/patches") 6. Make symbolic link ( The path is "ns-allinone-2.34/ns-2.34" ) $ ln -s ./aodv-uu-0.9.5 ./aodv-uu 5. Execute below $ pat..
9 [동영상강좌] chapter 0. 디자인 시도와 미들웨어 해결방안 그리고 ACE chapter 0. 디자인 시도와 미들웨어 해결방안 그리고 ACE 15 [동영상강좌]chapter 1. 통신 디자인 관점 chapter 1. 통신 디자인 관점 17 [동영상강좌]chapter 2. SOCKET API의 개요 chapter 2. SOCKET API의 개요 19 [동영상 강좌]chapter 3. ACE 소켓 Wrapper Facade 클래스 chapter 3. ACE 소켓 Wrapper Facade 클래스 20 [동영상 강좌]charper4.네트워크 로깅 서비스의 구현 1 charper4.네트워크 로깅 서비스의 구현 1 22 [동영상강좌]charper4.네트워크 로깅 서비스의 구현 2 charper4.네트워크..