Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
close 말고 shutdown 은 없나요?
통신프로그램을 종료시에 close를 쓰니까 close-wait 이나 pin-wait 이 걸리던데
통신종료시에 close 말고 다른 명령어는 없나요?
1
COMMENTS
김영대
•
2000.02.17 20:09
오정섭 wrote:
> 통신프로그램을 종료시에 close를 쓰니까 close-wait 이나 pin-wait 이 걸리던데
> 통신종료시에 close 말고 다른 명령어는 없나요?
TCP/IP socket 프로그래밍을 말씀하시는 것이라면 아래는
socket 핸들의 blocking 없이 강제로 종료하는 루틴입니다
{parameter로 지정한 소켓을 강제로 즉시 닫는다(블록킹 해제됨)}
procedure TMainForm.DOclosesocket(var socket_id: TSocket);
var
lingerinfo : Tlinger;
begin
// 블록킹(blocking)된 소켓함수가 있다면 이를 취소시킨다
// 어느 경우에나 WSACancelBlockingCall() 이 호출되면 Block이 진행 중이던
// 원래의 함수는 에러로 리턴하고, 이 때 에러 코드는 WSAEINTR이 된다
// 이식성이 높은 응용 프로그램을 개발하기 위하여 WSACancelBlockingCall() 후에
// closesocket() 이외의 다른 소켓 함수 호출은 하지 않는 것이 좋다.
if socket_id <> INVALID_SOCKET then
if WSAISBlocking then // 어떤 소켓 함수가 Block 상태에 있는 가를 검사
begin
WSACancelBlockingCall;
DOAddLine(HOST_M+'Cancelled blocking call');
end;
lingerinfo.l_onoff := 1; {소켓을 강제로 즉시 종료}
lingerinfo.l_linger := 0; {시간지연 없음}
// setsockopt() 는 지정된 소켓의 형태, 상태와 관계 없이 소켓 옵션을 소켓에
// 지정한다
SetSockopt(socket_id, SOL_SOCKET, SO_LINGER, Pchar(@lingerinfo), sizeof(lingerinfo));
CloseSocket(socket_id);
socket_id := INVALID_SOCKET;
end;
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
김매경
•
2000.02.17 19:28
2
COMMENTS
/
0
LIKES
서버의 시간과 PC의 시간
김매경
•
2000.02.17 19:31
제 글이 수정이 안돼네여...!_! 참고로... DB는 오라클 8이랍니다
김영대
•
2000.02.17 20:05
김매경 wrote: > 제 글이 수정이 안돼네여...!_! > > 참고로... DB는 오라클 8이랍니다 DB의 시간은...
김완희
•
2000.02.17 19:26
2
COMMENTS
/
0
LIKES
랜덤수 생성방법 질문
밥벌레
•
2000.02.19 04:07
음..혹시 실행할 때 마다 같은 난수만 발생시키는거 해결하시려는 건지요..? 랜덤으로 발생되는 난수는 Ra...
술친구
•
2000.02.17 19:50
김완희 wrote: > 안녕하세요?... > 랜덤수를 생성해야 하는데 어케하는지..궁금해서요.. > > 만약 1~ ...
오정섭
•
2000.02.17 19:17
1
COMMENTS
/
0
LIKES
close 말고 shutdown 은 없나요?
통신프로그램을 종료시에 close를 쓰니까 close-wait 이나 pin-wait 이 걸리던데 통신종료시에 close 말고 다른 명령어는 없나요?
김영대
•
2000.02.17 20:09
오정섭 wrote: > 통신프로그램을 종료시에 close를 쓰니까 close-wait 이나 pin-wait 이 걸리던데 > 통신...
초보
2000.02.17 19:09
0
COMMENTS
/
0
LIKES
dll을 부르면 서버가 죽습니다.
신경휴
2000.02.17 18:48
0
COMMENTS
/
0
LIKES
처음 짠 프로그램인데 "코딩 점검"과 "버그" 좀 잡아주세요
Faster
2000.02.17 18:34
0
COMMENTS
/
0
LIKES
실수형 자료 표시,계산 등등....
개발자
2000.02.17 18:13
0
COMMENTS
/
0
LIKES
훈민정음 파일을 Informix DB Blob컬럼에 insert 방법
이일수
2000.02.17 07:01
0
COMMENTS
/
0
LIKES
currency형의 표현
델 초보올림
•
2000.02.17 06:42
2
COMMENTS
/
0
LIKES
에러메시지... 누가 좀 도와줘요...<<<급>>>
강인규
•
2000.02.17 19:35
저두 비슷한 경우가 있어 함 적어봅니다 혹시 -에러메시지- Exception EReadError in module SJH1.EXE at...
델 초보올림
•
2000.02.17 22:59
강인규 wrote: > 저두 비슷한 경우가 있어 함 적어봅니다 > 혹시 -에러메시지- > Exception EReadError ...
김정규
•
2000.02.17 05:33
4
COMMENTS
/
0
LIKES
두 날짜 사이의 기간 구하기....
밥벌레
•
2000.02.17 16:04
김정규 wrote: > 두 날짜 사이의 기간 구하기를 알고 싶습니다. > 예를 들어, a = 1998-02-28, b = 1992...
최모양
•
2000.03.01 02:49
밥벌레 wrote: > 김정규 wrote: > > 두 날짜 사이의 기간 구하기를 알고 싶습니다. > > 예를 들어, a =...
모양
•
2000.03.06 19:42
최모양 wrote: > 밥벌레 wrote: > > 김정규 wrote: > > > 두 날짜 사이의 기간 구하기를 알고 싶습니다....
밥벌레
•
2000.03.01 09:09
거짓말 아님당.. ㅠ.ㅠ 잘 돼여.. 자료실에 소스랑 프로그램 올립니다.. 구롬 받아서 테스트 해보시길.....
김성훈
•
2000.02.17 05:19
1
COMMENTS
/
0
LIKES
richedit 를 이용한 메모장에서 커서위치제어
최용일
•
2000.02.20 14:25
김성훈 wrote: > 안녕하세요 고수님들.. > > 하나를 해결하면..또..막히고.막히고..이게..초보의..어려...
rlaehdhks
•
2000.02.17 05:16
1
COMMENTS
/
0
LIKES
JPEG 파일을 db에 저장시 error !
rlaehdhks
•
2000.02.17 21:24
rlaehdhks wrote: > 안녕하세요 BMP를 JPG로 변환해서 DB에 저장 하료고 합니다. > 그런데 BMP는 저장이 ...
홍대근
2000.02.17 04:59
0
COMMENTS
/
0
LIKES
정말 Install shield pro5.5 에서 DB p/g 셋업 없나요
박정태
•
2000.02.17 04:42
1
COMMENTS
/
0
LIKES
웹 프로그램에서 동적으로 폼생성.
밥벌레
•
2000.02.17 16:11
안녕하세요.. 음 헬프를 보니 폼은 Destroy를 쓰지 말구 Release 를 쓰라구 되어 있군요.. 폼에 이벤트 ...
허세준
•
2000.02.17 04:10
1
COMMENTS
/
0
LIKES
리치에디터에서 텍스트 선택시의 색상을 변경하는 방법좀....
최용일
•
2000.02.20 14:33
허세준 wrote: > > 고수님 전상서(?) > > 리치 에디터를 이용하여 메모장같은 것을 만들려고 하고 ...
엄화용
•
2000.02.17 03:54
1
COMMENTS
/
0
LIKES
특정문자열 제거
구창민
•
2000.02.17 04:02
엄화용 wrote: > * 특정문자를 제거하려고 합니다. > 전화번호입력에서 > 032-983-9873이면 '-'문...
이세영
2000.02.17 03:04
0
COMMENTS
/
0
LIKES
한글폰트를 폼에 나오게 하려면.. 어떻게 해야 되나요..?
공성환
•
2000.02.17 02:33
1
COMMENTS
/
0
LIKES
프로젝트파일 열기오류
yhjung
•
2001.01.30 23:19
공성환 wrote: > Delphi 3.0 에서 프로젝트를 열라고 하니 이런 오류가 나네요??? > > Error readin Ma...
신숙정
2000.02.17 01:51
0
COMMENTS
/
0
LIKES
popup window에서 값 가져오기
개발자
•
2000.02.17 01:41
2
COMMENTS
/
0
LIKES
윈도우 상의 현재 배경화면 정보를 알아내는 방법에 관하여....
이현우
•
2000.02.17 02:10
개발자 wrote: > Window 배경화면 정보를 > 알아내는 방법에 관해서 고견을 부탁드립니다..................
kingdol
•
2000.02.17 02:05
개발자 wrote: > Window 배경화면 정보를 > 알아내는 방법에 관해서 고견을 부탁드립니다..................
오정섭
2000/02/17 19:17
Views
478
Likes
0
Comments
1
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
> 통신프로그램을 종료시에 close를 쓰니까 close-wait 이나 pin-wait 이 걸리던데
> 통신종료시에 close 말고 다른 명령어는 없나요?
TCP/IP socket 프로그래밍을 말씀하시는 것이라면 아래는
socket 핸들의 blocking 없이 강제로 종료하는 루틴입니다
{parameter로 지정한 소켓을 강제로 즉시 닫는다(블록킹 해제됨)}
procedure TMainForm.DOclosesocket(var socket_id: TSocket);
var
lingerinfo : Tlinger;
begin
// 블록킹(blocking)된 소켓함수가 있다면 이를 취소시킨다
// 어느 경우에나 WSACancelBlockingCall() 이 호출되면 Block이 진행 중이던
// 원래의 함수는 에러로 리턴하고, 이 때 에러 코드는 WSAEINTR이 된다
// 이식성이 높은 응용 프로그램을 개발하기 위하여 WSACancelBlockingCall() 후에
// closesocket() 이외의 다른 소켓 함수 호출은 하지 않는 것이 좋다.
if socket_id <> INVALID_SOCKET then
if WSAISBlocking then // 어떤 소켓 함수가 Block 상태에 있는 가를 검사
begin
WSACancelBlockingCall;
DOAddLine(HOST_M+'Cancelled blocking call');
end;
lingerinfo.l_onoff := 1; {소켓을 강제로 즉시 종료}
lingerinfo.l_linger := 0; {시간지연 없음}
// setsockopt() 는 지정된 소켓의 형태, 상태와 관계 없이 소켓 옵션을 소켓에
// 지정한다
SetSockopt(socket_id, SOL_SOCKET, SO_LINGER, Pchar(@lingerinfo), sizeof(lingerinfo));
CloseSocket(socket_id);
socket_id := INVALID_SOCKET;
end;