MadForFamily

Sep 232011
 

Mysql의 문자열 관련 함수를 보면 구분자를 가지고 분해하는 함수가 없다. ㅠ.ㅠ
varchar로 선언한 컬럼에 'a,b,c,d,e'의 값을 넣고서 첫번째 값은 a, 두번째 값은 b처럼 얻어내고 싶어서 찾아보았더니 해당 문자열 함수 관련 페이지에 다른 사용자가 구현해놓은 것을 발견했다.

test라는 table의 ip 컬럼에 '192.168.1.1;192.168.1.2,192.168.1.3'의 값이 들어있을 때,
첫번째의 192.168.1.1을 얻어내려면, select replace(substring(substring_index(ip, ';', 1), length(substring_index(ip, ';', 1 – 1)) + 1), ';', '') from test
두번째의 192.168.1.2를 얻어내려면, select replace(substring(substring_index(ip, ';', 2), length(substring_index(ip, ';', 2 – 1)) + 1), ';', '') from test

ip 컬럼에 '192.168.1.1'만 들어있어도(구분자가 없어도) 문제없음을 확인했다.
'192.168.1.1;192.168.1.1' 처럼 같은 값이 들어있어도 잘 되는 것으로 수정완료함

참고한 원문 : http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_substring-index (하단 사용자 Comment 중)

Aug 012011
 

자신이 다녔던 회사의 사업자 번호를 알아내는 방법이다.

오래전에 다녔던 회사이고, 걔중에 한 개는 폐업 상태이고 해서, 여기 저기 검색해서 알아봤다.

1.사업장 관리번호(사업장 소재지도 파악가능함)를 알아내자

고용보험 사이트 로그인 -> 조회 -> 피보험 자격 신고 현황

2.사업장 관리번호(4대 보험 관리용, 본점/분점 등이 다를 수 있슴)는 사업자등록번호와 다르다.

아무 세무서나 전화해서 사정을 얘기한다.

…를 해야 하는데, 회사 그만 둔지 오래되어서…

사업자등록번호를 알아냈는데, 회사가 맞는지 상호를 확인하고 싶다.

해주겠다고 하면 사업장 관리번호의 맨 마지막 번호를 제외한 번호를 불러주고 상호가 맞는지를 확인 부탁합니다.

예) 사업장 관리번호가 123-45-67890-0 이라면 123-45-67890(맨 마지막 0을 제외)으로 상호가 맞는지를 확인함

Jun 212011
 

1.부트캠프 영역이 ntfs가 아닌 fat32라면 ntfs로 변환해야 함

[변환방법]
부트캠프 윈도우 부팅 -> 시작-실행-cmd 치고 엔터 -> 명령 프롬프트 창에서 convert m: /fs:ntfs 실행 -> 경고문 나오면 Y, 혹시 재부팅하면 자동시작하겠다고 나오면 Y

2.winclone을 맥os에 설치

3.맥os에서 winclone으로 bootcamp 영역을 이미지로 백업

4.맥os에서 응용프로그램-유틸리티-부트캠프 지원 실행해서 파티션 병합

5.맥os에서 응용프로그램-유틸리티-부트캠프 지원 실행해서 원하는 용량의 부트캠프 파티션 설정

6.맥os에서 winclone으로 백업해둔 이미지로 복원

Jun 212011
 

다운로드를 하기 위해 귀찮은 기다림의 시간을 보낸 후 클릭을 해야하는 노가다를 요구하는 무료 다운로드 사이트들의 다운로딩을 쉽게 해주는 Rdesc를 소개해봅니다. 여러 언어를 지원하는데다가 한글 메뉴도 지원해줘서 사용하기에도 적당합니다 ^^

사이트 : http://rdesc.com
다운로드 링크 : http://rdesc.com/descargas/

지원하는 사이트 목록
Rapidshare.com
Megaupload
Mediafire
4Shared
Easy-Share
Gigasize
HotFile
DepositFiles
zShare
NetLoad
Uploading.com
FileFactory
Storage.to
SendSpace
Uploaded.to
Badongo
Megarotic
Megaporn
Freakshare
Ziddu
x7.to
Letitbit.net
Megashares
Zippyshare
2Shared
Egoshare
Sharingmatrix.com
Oron.com
Hyperfileshare.com
Shareflare.net

제공하는 기능
다운로드 링크 검사(링크를 복사하면 자동감지해서 링크가 살아있는지를 검사해줌)
자동으로 대기시간 경과 후 다운로딩해줌

Jun 042011
 

겨우 8년여를 사용해왔던 아남전자의 29인치 평면 브라운관 TV가, 시름 시름 앓더니 드디어는 아예 켜지질 않는 증세를 보였다.
옆구리를 강하게 강타하고 나면, 퍽~! 하고 화면이 나와서 잘 나오곤 했는데, 그나마도 이제는 아예 안나오는 사태가 지속되었다.

그.래.서, HDTV 수신이 가능한 광시야각 패널의 24인치 모니터를 샀다.
그전에는 방송 수신을 위해 유선 케이블 기본 상품을 보고 있었는데, 기왕에 HDTV수신 가능한 제품을 샀으니 나도 HD의 세계를 맛보고 싶었다.

어디선가 흘낏 봤던 HDTV수신용 자작 안테나를 시도해봤다.
세탁을 맡기고 나면 으례 껴오는 철제 옷걸이를 가지고, 가로 세로 15cm로 정사각형을 만들어서,
기존 유선 케이블에 연결 후 테스트해보니,
위치에 따라 다르긴 해도…잘 나온다 ^^*

이제는 기존 아날로그 공중파는 못 볼듯 하다. ㅎㅎㅎ
이제 유선 케이블 상품도 해지해야겠다.

Jun 022011
 

용어정리
Host PC : VMWare를 깐 PC, 현재 Windows 7 64bit Home Premium 버전 사용중
Guest OS : VMWare 프로그램으로 설치한 가상의 OS, 현재 Windows XP Professional 설치해서 사용중

Guest OS를 띄우니 하단 아래쪽 알림영역에 Host PC쪽의 USB와의 연결이 안되었다고 나왔다.
그럴리가 없을텐데…하고 Host PC의 서비스 목록을 살펴보니 VMWare Host arbitration service가 시작유형은 "자동"인데, 시작이 안되어 있었다.
강제로 시작을 시켜봤는데, 실패가 났다.

구글神에게 해답을 요청드렸더니 다음과 같은 답이 좌르륵 나왔다.

1.장치관리자에서 USB Root Hub의 드라이버가 Microsoft사의 드라이버로 되어있는지 확인, 아니라면 드라이버 롤백 혹은 업데이트를 통해 되돌려놓아라.
2.AMD Cpu를 사용한다면 USBFilter 장치를 삭제 후 리부팅해봐라

1번을 확인해보니 모두 이상 無
2번이 문제였다. 사용중인 노트북이 AMD E350 CPU를 사용중이었다. 
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Class\{36FC9E60-C465-11CF-8056-444553540000} 에서 UpperFilters 항목이 usbfilter라면 그 항목을 삭제 후 리부팅

리부팅 이후 Guest OS를 띄워보니, Host PC의 USB장치들이 좌르르륵 인식되어 나온다.

출처 : http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1016809

Jun 022011
 

NAS 열병에 빠져, 고민에 고민을 거듭하고 검색에 검색을 거듭하고 최저가격을 찾고 또 찾다가 Synology DS710+를 구매해서 사용한지도 어느새 1년을 넘겼습니다.

NAS 구매 후 2~3달은 필요한 기능들을 설정하고 주변기기를 연결하고 적절한 형태로의 성능 구축에 열을 올리느라 정신이 없었습니다.

워드프레스를 설치해서 기존 티스토리 자료도 다 이전해서 열심히 블로깅도 해보고, 새로이 구입했던 안드로이드폰, 아이패드와의 연동부분도 열심히 찾아보고 했었죠.

요새는 익숙해져서인지 NAS로 인해 얻게 되는 편리함이 당연한 것처럼 느껴지기도 합니다. 편리함에 익숙해져버린 1년을 결산해보며, 다른 분들이 NAS가 주는 달콤한 유혹에 빠질 수 있도록, 열심히 글을 적어보려고 합니다.

NAS 추천을 해달라는 글을 보게 되면, 저는 주저없이 Synology 아니면 Qnap, 둘 중의 하나를 선택하라고 하게 됩니다. 리눅스를 꽤나 능숙하게 다루긴 해도, NAS가 구현해놓은 여러 안정적인 기능제공의 측면을, 후발주자들이 따라가기에는 아직도 격차가 있다고 보기 때문입니다.

여러 기종 OS에 대한 고려
여러 국가, 여러 언어 사용자를 위한 고려
여러 주변 기기들과의 안정적인 연동
데이타 통합 보관에 대해 안정적인 보관/운영 기능 제공
백업, 전원관리 등 HW적인 안정적 동작 보장

이런 것들이 보장되지 않는다면, NAS를 구축한 후 데이타를 모두 모아놓는 것은 오히려 화를 불러오는 길이라 보여집니다. 한번의 시스템 소실이, 전체 데이타의 소실을 의미하게 되기 때문입니다.

그래서, 리눅스를 직접 설치하고 각종 설정을 다 할 수 있음에도 불구하고, HW적인 사양에 비해 30~40만원이 비싼 NAS를 선뜻 구매하게 된 것은, 수많은 사용자들로부터 외면을 당하지 않고, 오랫동안 NAS 브랜드를 유지하면서 구축해온 안정적인 성능제공과 꾸준한 성능개선에 대한 비용이라고 생각했기 때문입니다.

서론이 좀 길었네요. 그러면 제가 1년전에 Synology DS710+을 구입한 후 어떤 설정을 한 상태로 사용했고 어떤 용도로 사용해왔는지를 떠올려보겠습니다.

[덧글] 이 게시물에 링크된 모든 게시물은 제 블로그에, 제가 기존에 작성했던 글들입니다. ^^*


1.포트 포워딩 설정
ssh 포트: 22, telnet 대신 ssh로 터미널 접속하기 위한 포트
admin : 5000, NAS 관리자 페이지 접속 포트
filestation : 7000, NAS 파일스테이션 접속 포트
web : 80, 웹서버 포트
web : 8080, 웹서버 포트
ftppassive : 55663, FTP Passive 모드 포트
torrent : 6881, Torrent용 포트
afp : 548, 애플 맥킨토시에서 쓰이는 AFP 포트
ftp : 9921, FTP 포트(기본 21번 보다는 다른 포트를 사용하는 것이 좋음)
webdav : 5005, WebDAV(웹으로 데이타 접근 가능)용 포트


2.DDNS 설정
DDNS는 유동 IP 환경에서 도메인을 운영할 수 있게 해줍니다. 집에 설치한 NAS를 가지고 홈페이지로 이용하거나, 외부에서 접속해서 데이타를 접근하기 위해서는 필수적인 설정이라고 볼 수 있습니다.

가장 간단한 방법은 유무선 인터넷 공유기 등에서 자체 제공해주는 기능을 사용하는 것입니다만, 자신이 보유한 도메인이 있다면, 그 도메인을 가지고 NAS에 부여해서 사용하는 것이 더 좋을 것입니다.

DNSEver.com을 이용해서 자신의 도메인을 DDNS로 설정하는 방법


3.팬 속도 설정 변경
여름이 되어가면 은근히 NAS의 온도를 자주 살펴보게 됩니다만, NAS 내부의 팬 속도를 따로 설정하는 것은 어려운 일이었습니다만 잘 찾아보니 수작업으로 직접 작동속도를 지정할 수 있는 방법이 있었습니다.

팬 속도 마음대로 설정 방법


4.원하는 솔루션을 설치해서 개인 웹서버로 활용
x86 계열의 칩이 주는 무한한 가능성은 다양한 기존 솔루션등을 사용할 수 있다는 점일 것입니다. 저는 오직 이것때문에 DS710+를 선택했다 해도 과언이 아닙니다.

설치 직후 워드프레스(오픈소스 설치형 블로그 솔루션)를 설치해서 지금까지 개인 블로그를 운영중입니다. 국내 솔루션들도 좋은 게 많지만, 취향이 맞지 않기도 하고, 다양한 기능들을 제공해주는 플러그인들이 많다는 점도 선택의 중요한 이유입니다.

워드프레스용 추천 플러그인/테마 목록

워드프레스 SEO를 위해 URL Rewrite설정하기

워드프레스 memory exhausted error 해결

mysql을 utf-8로 설정하기


5.강력한 파일 서버
NAS는 Network-Attached Storage입니다. 즉, 네트워크로 접근 가능한 저장소라는 얘기입니다.
네트워크상에서 파일을 접근하는 데에 사용되는 많은 기능을, 다양한 OS, 다양한 언어 상에서도 안정적으로 제공해줍니다.

사무실에서는 MS윈도우 계열 노트북을, 집에서는 애플 맥북을 사용중이라서, 다양한 OS에서의 안정적인 기능제공은 정말 중요했습니다. 그러면 어떤 기능들을 제공하는지 간단히 살펴보겠습니다.

(1)afp
매킨토시에서 사용하기 편한 방식입니다.
포트는 548번 포트를 사용합니다.

애플 맥 계열에서 Samba, AFP를 자동으로 연결하는 방법

애플 맥 계열에서 Samba, AFP 등으로 마운트된 위치 확인하는 방법
 

(2)ftp
거의 모든 환경에서 접근 가능한 방식입니다.

MS 윈도우 계열에서 자동으로 가상의 디스크 드라이브로 연결하는 방법

(3)Samba
여러 기종 사이에서 파일 접근을 가능하게 해줍니다.
요즘에는 Dvix플레이어, 미디어 재생 가능한 TV와의 연결 등에 많이 사용됩니다.

(4) webdav
웹페이지 통해서 파일에 접근 가능해줍니다.
스마트폰, 스마트태블릿 등에서 접근할 때 편리합니다.

(5) MS 윈도우 네트워크 공유
윈도우 pc에서는 별다른 설정없이 쉽게 접근 가능한 방법이라서 간단하게 사용이 가능합니다.


6.파일 동기화 서버로 활용
GoodSync라는 프로그램을 이용해서, 컴퓨터내의 특정 폴더의 파일들을 NAS의 특정영역에 계속해서 최신버전의 파일을 유지하는 방법입니다. 요즘 각광을 받고 있는 클라우드 서비스가 제공해주는 기능 중의 하나인데, GoodSync라는 프로그램으로 NAS에 최신 버전의 데이타를 자동으로 유지할 수 있게 해줍니다.


7.웹하드 기능
NAS를 개인 웹하드라고 생각해서 구매했다가는 실망을 금할 수 없습니다. 여러 명에게, 계정을 부여하지 않고도 파일을 공유하는 방법이 없기 때문입니다. 이것은 NAS에 대한 생각의 차이에서 출발합니다.

NAS를 "개인" 데이타 저장소의 역할이 크다고 생각하는 것과, 다른 이들과의 "공유"를 목적으로 생각하는 것 사이의 차이가 아닐까하고 저는 생각합니다. 하지만, 국내 모 사용자분께서 직접 개발하신 ezlink라는 추가 패키지(개발자 isul님 블로그)를 통해서 웹하드처럼 아주 쉽게 파일 공유가 가능해집니다.


8.타임머신 기능
애플 매킨토시용 백업 디스크 기능입니다. MS윈도우즈 계열에서의 백업과 비슷하지만, 애플 매킨토시를 위해서는 타임머신 기능이 별도로 있어야, 자동으로 백업하고 문제 발생시 복원도 가능해집니다.


9.iTunes 서버 기능
애플 매킨토시 계열에서 iTunes라이브러리를 로컬 네트워크 상에서 공유하게 해주는 기능입니다.
물론 앨범별로 보이지 않고 전체 목록이 좌르륵 나오긴 합니다만 그래도 사용가능하다는 점은 좋습니다.


10.동영상 저장소 기능
TV or Monitor –(Samba or 윈도우즈 네트워크 공유)–> Dvix Player –(로컬랜)–> 유무선공유기 <–(로컬랜)–NAS
이렇게 연결해서 NAS에 저장된 동영상을 편하게 TV나 모니터로 감상합니다.

뉴런일렉 dv130h와 연결 방법


11.집안에서 MP3 플레이어로 활용
usb 방식 스피커를 NAS에 장착한 후에 시놀로지 리모트 대신에 스마트폰(아이폰/안드로이드폰)으로 원격으로 재생목록 관리 및 재생 제어를 할 수 있습니다.

저렴한 파이오니어 USB스피커로 NAS를 오디오 장치로 사용하기


12.포토앨범으로 활용
언제 어디서나, 잘 정리해놓은 사진들을 감상하는 재미도 꽤나 쏠쏠하고 뿌듯한 기쁨입니다.
"http://NAS 도메인 주소/photo"로 접근하면 웹브라우저에서 포토스테이션을 통해서 포토앨범을 감상할 수 있습니다.
아이폰, 안드로이드폰 등에서는 ds photo+라는 앱(안드로이드용 링크, 아이폰용 링크)을 이용해서 같은 기능을 사용할 수 있습니다.

맥 + NAS로 사진 정리하는 방안


13.토렌트 머신
다들 사용하시는 토렌트를 다운로드 해주는 기능입니다. 관리자 페이지 통해서 토렌트 파일을 추가하면, 컴퓨터를 따로 켜지 않고도 토렌트 다운로드가 가능해집니다.
안드로이드폰에서는 Synodroid라는 어플을 통해서 해외 토렌트 사이트 검색 후 바로 토렌트 파일을 추가할 수 있습니다.


14.오디오 스테이션으로 개인 스트리밍 서비스
ds audio 어플(안드로이드용, 아이폰용)을 이용해서 외부에서 오디오 스테이션 통해서 스트리밍으로 음악 감상을 할 수 있습니다.
저는 안드로이드폰을 무제한 요금제로 사용중인데, 이동중에 듣고 싶은 음악이 있으면 다운받지 않고 DS Audio로 바로 스트리밍으로 감상하고는 합니다.


15.안정적인 NAS운영을 위한 백업과 UPS
NAS를 운영하게 되면, 개인이 보유한 모든 데이타가 NAS 한 군데로 모이게 됩니다. 따라서 백업과 UPS 설치는 필수적이라고 볼 수 있습니다.

(1) 백업
데이타 백업은 적어도 1곳에는 해둬야 합니다. 정기적으로 백업도 해야 하구요.
저는 USB 외장하드를 가끔 연결해서 전체 백업을 주기적으로 하고 있습니다.
백업의 중요성은, 데이타를 날려보면 느끼게 된다고 합니다만, 다행인지 저는 아직 당해본적이 없습니다.

데이타를 날려보지 않은게 아니라, 백업을 해놓았기 때문입니다.
업무용 노트북을 이동중에 분실했을 때에도, NAS에, USB외장하드에 백업된 업무 데이타가 있어서 업무 공백없이 바로 업무를 이어갈 수 있었습니다.

 (2) UPS 사용
NAS 운영한지 얼마되지 않아 NAS의 볼륨이 충돌했다는 메시지와 함께 삑삑거리는 알람음이 울린적이 있었습니다. 물론 백업은 된 상태였지만, 볼륨이 깨졌다는 점이 더욱 불안감을 불러왔습니다. 정말 계속 NAS를 믿어도 되는걸까? 이유없이 깨진걸까? 등등 걱정이 밀려왔습니다. 그 후에는 별다른 일 없이 운영하다가 작년 12월에 저렴한 UPS 하나를 구입해서 NAS에 연동해놓았습니다.

NAS를 위한 안심보험, UPS

그 이후에도 별 문제 없이 사용하고 있었는데, 어느날 심심해서 로그를 보니, 헉! 순간정전이 기록되어 있었습니다.
그제서야 볼륨 깨짐현상이 순간정전으로 인해, 갑자기 재부팅이 이뤄지면서 볼륨이 깨진게 아닐까 하는 생각이 들더군요.

순간정전 경험

UPS와 NAS 연결이 잘 안될 때


16.사용자 카페에 있는 고수님들
휴, 긴 글이 끝이 이제야 보이네요. ^^*
처음 NAS를 사용하다보면 생소한 것들을 많이 시도해보게 됩니다.
이런 과정에서 필연적으로 "삽질"을 하게 되는데, 삽질에 앞서서, 먼저 경험한 이들에게서 경험을 듣는 다면 삽질을 줄일 수 있게 됩니다.

시놀로지 NAS 사용자 카페가 네이버 카페안에 있습니다.
http://cafe.naver.com/synologynas


17.마치며
1년간의 제 경험을 기록으로 남기려고 하다보니 은근히 할 말이 많아지네요.
아는 만큼 보이고, 보이는 만큼 알 수 있다고 합니다.
큰 돈 주고 구입한 NAS에 파묻혀 시간을 보내기보다는, 꼭 필요한 기능들을 재빨리 습득해서 사용하는 게 더 좋다고 생각됩니다.
혹시나 제가 삽질했던 경험들이 이 글을 읽는 초보 사용자분께 도움이 되지 않을까 해서 시간을 들여 작성해본 글입니다.
틀린 점이 있으면 살짝 알려주시구요.

긴 글 읽어주셔서 감사합니다.

Jun 022011
 

로그를 보니 드문드문 UPS와의 연결이 끊어진 적이 생겼었는데, 이제는 아예 연결이 안되었다. 로그를 보니 plugged out 되었다느니 lost connection했다느니 하는 UPS관련한 로그가 드문 드문 보였다. 연결이 잘되었었으니, 뭔가 해주면 될듯 싶어서 이것저것 찾아보았다.

PBStorage> ps | grep ups
  922 root      1684 S    /usr/syno/bin/usbhid-ups -a ups
 7598 root      1684 S    /usr/syno/bin/usbhid-ups -a ups
 8792 root      1508 S    /usr/syno/sbin/upsmon
 8794 root      1508 S    /usr/syno/sbin/upsmon
 9088 root      2464 S    grep ups
 

일단 UPS 관련한 서비스가 NUT(관련글 보기)를 가지고 구현되어 있음을 알 수 있었다.
엇! 그렇다면 upsd 가 떠있지 않았거나, 드라이버(usbhid-ups)가 중복으로 실행되어서 인듯하다.

/usr/syno/bin/ups.sh stop해보니 upsmon은 종료가 되어도 드라이버는 종료가 되지 않았다.
역시 드라이버 프로그램이 중복으로 실행되어서인듯 했다.
과감하게 kill -9 922 7598해서 드라이버 2개 프로그램을 종료시키고
/usr/syno/bin/ups.sh start 하니 잘 된다 ^^*

잘 연결된 상태에서는 다음과 같이 나왔다.
PBStorage> ps | grep ups
 9453 root      1564 S    /usr/syno/bin/usbhid-ups -a ups
 9455 root      1504 S    /usr/syno/sbin/upsd
 9457 root      1508 S    /usr/syno/sbin/upsmon
 9459 root      1508 S    /usr/syno/sbin/upsmon
 9776 root      2460 S    grep ups

Jun 012011
 

출처 : http://www.modbus.org/docs/Modbus_Messaging_Implementation_Guide_V1_0b.pdf

SO-RCVBUF, SO-SNDBUF:
These parameters allow setting the high water mark for the Send and the Receive Socket.
They can be adjusted for flow control management.
The size of the received buffer is the maximum size advertised window for that connection.
 Socket buffer sizes must be increased in order to increase performances .
Nevertheless these values must be smaller than internal driver resources in order to close the TCP window before exhausting internal driver resources. 
The received buffer size depends on the TCP Windows size, the TCP Maximum segment size and the time needed to absorb the incoming frames.
With a Maximum Segment Size of 300 bytes (a MODBUS request needs a maximum of 256 bytes + the MBAP header size), if we need 3 frames buffering, the socket buffer size value can be adjusted to 900 bytes.
For biggest needs and best-scheduled time, the size of the TCP window may be increased. 
[요약] 주고 받는 최대 패킷 크기보다 송신 버퍼, 수신버퍼를 크게 잡아야 한다

TCP-NODELAY:
Small packets (called tinygrams) are normally not a problem on LANs, since most LANs are not congested, but these tinygrams can lead to congestion on wide area networks.
A simple solution, called the "NAGLE algorithm", is to collect small amounts of data and sends them in a single segment when TCP acknowledgments of previous packets arrive. 
In order to have better real-time behavior it  is recommended to send small amounts of data directly without trying to gather them in a single segment.
That is why it is recommended to force the TCP-NODELAY option that disables the "NAGLE algorithm" on client and server connections. 
[요약] 좀 더 빠르게 데이타를 주고 받고 싶다면 TCP-NODELAY 옵션을 True로 해라

 
SO-REUSEADDR:
When a MODBUS server closes a TCP connection initialized by a remote client, the local port number used for this connection cannot be reused for a new opening while that connection stays in the "Time-wait" state (during two MSL : Maximum Segment
Lifetime).
It is recommended specifying the SO-REUSEADDR option for each client and server connection to bypass this restriction.
This option allows the process to assign itself a port number that is part of a connection that is in the 2MSL wait for client and listening socket.
[요약] 클라이언트 접속시 할당되는 Port를 기다림없이 재활용하고 싶다면 SO-REUSEADDR 옵션을 True로 해라

SO-KEEPALIVE:
By default on TCP/IP protocol no data are sent across an idle TCP connection.
Therefore if no process at the ends of a TCP connection is sending data to the other, nothing is exchanged between the two TCP modules.
This assumes that either the client application or the server application uses timers to detect inactivity in order to close a connection.
It is recommended to enable the KEEPALIVE option on both client and server connection in order to poll the other end to know if the distant has either crashed and is down or crashed and rebooted.
Nevertheless we must keep on mind that enabling KEEPALIVE can cause perfectly good connections to be dropped during transient failures, that it consumes unnecessary bandwidth on the network if the keep alive timer is too short.
[요약] 서버, 클라이언트 양쪽 모두를 위해 SO-KEEPALIVE 옵션을 True로 하는 게 좋다

« 1 2 3 4 5 6 7 8 9 10 11 12 ... 24 »