Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
<조언부탁합니다> 소켓어러시 처리방법(에러코드는 10053,10054,10061 등)
- 클라이언트와 서버소켓을 각각 따로 두고 프로그램을 작성한후!
서버프로그램을 먼저 기동시키고,
클라이언트 프로그램을 기동 시켰습니다.
그러나 정산적인 경우에는 해당이 없는데, 예를 들어 클라이언트(소켓)가 비정상적
으로 종료 되었을때, 10053,10054 혹은 10061 같은 에러 메시지가 나옵니다.
이것을 해결할 방법은 없읍니까?
그리고 자세한 조언부탁드립니다.
3
COMMENTS
이경문
•
2000.07.04 22:13
델파이에서 제공하는 TClientSocket과 TServerSocket은 사용에 있어서 주의를 요합니다.
해당하는 에러들은 흔히 네트워킹 프로그램을 작성할 때 흔히 발생하는 에러들이지요.
10061은 ServerSocket이 열려 있지 않은 상태이거나
ClientSocket의 Address 및 Port의 설정이 잘못 되어 있는 상황에서 발생하는 에러입니다.
10053이나 10054는 한쪽에서는 데이터를 보내고 있는 중에
다른 한쪽의 프로그램이 그냥 종료될 때 발생하는 에러입니다.
그러므로 프로그램에서는 항상 TCP/IP 통신이 종료되었음을 확인하고 종료하는 방법을 써야 합니다.
예제를 들면 OnCloseQuery Event에서
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if ClientSocket1.Active then
begin
ClientSocket1.Close;
CanClose := false;
ShowMesage('한번 더 누르시면 종료됩니다');
end;
end;
다른 예제로는 OnClose Event에서
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if ClientSocket1.Active then
begin
ClientSocket1.Close;
while CliektSockte1.Active do
Application.ProcessMessages;
end;
end;
등과 같이 하셔야 하고 ServerSocket도 ClientSocket같은 방법을 사용하면 됩니다.
단 ServerSocket1.Socket.ActiveConnections가 0임을 확인하야 겠지요.
0
0
삭제
수정
댓글
김승일
•
2000.09.01 20:29
많은 도움이 됐습니다..
0
0
삭제
수정
댓글
홍기원
•
2000.07.05 01:21
이경문 wrote:
> 델파이에서 제공하는 TClientSocket과 TServerSocket은 사용에 있어서 주의를 요합니다.
> 해당하는 에러들은 흔히 네트워킹 프로그램을 작성할 때 흔히 발생하는 에러들이지요.
> 10061은 ServerSocket이 열려 있지 않은 상태이거나
> ClientSocket의 Address 및 Port의 설정이 잘못 되어 있는 상황에서 발생하는 에러입니다.
> 10053이나 10054는 한쪽에서는 데이터를 보내고 있는 중에
> 다른 한쪽의 프로그램이 그냥 종료될 때 발생하는 에러입니다.
> 그러므로 프로그램에서는 항상 TCP/IP 통신이 종료되었음을 확인하고 종료하는 방법을 써야 합니다.
>
> 예제를 들면 OnCloseQuery Event에서
> procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
> begin
> if ClientSocket1.Active then
> begin
> ClientSocket1.Close;
> CanClose := false;
> ShowMesage('한번 더 누르시면 종료됩니다');
> end;
> end;
>
> 다른 예제로는 OnClose Event에서
> procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
> begin
> if ClientSocket1.Active then
> begin
> ClientSocket1.Close;
> while CliektSockte1.Active do
> Application.ProcessMessages;
> end;
> end;
>
> 등과 같이 하셔야 하고 ServerSocket도 ClientSocket같은 방법을 사용하면 됩니다.
> 단 ServerSocket1.Socket.ActiveConnections가 0임을 확인하야 겠지요.
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
초보 100
•
2000.07.04 19:57
1
COMMENTS
/
0
LIKES
activeX에서 이벤트를 스크립트에 전달하는 방법은여?
황진규
•
2000.07.05 00:08
히...안녕하세요? 저 역시 같은 문제로 고민하다가 겨우 실마리를 잡아서 알려드립니다. 이벤트를 타입...
델파이맨
•
2000.07.04 19:53
1
COMMENTS
/
0
LIKES
이유가 무엇이죠?
하얀까마귀
•
2000.07.04 20:57
안녕하세요 하얀까마귀입니다.. 콤포넌트가 없으시다면 안됩니다.. 해당 프로그램의 소스가 있더라도...
호야
•
2000.07.04 19:43
1
COMMENTS
/
0
LIKES
스트링그리드를 디비그리드처럼 쓸려고 하는데
최용일
•
2000.07.04 22:08
안녕하세요. 최용일입니다. 스트링그리드에는 그러한 기능이 없습니다. 직접 구현을 하셔야 겠네요. 코...
유레카
•
2000.07.04 19:33
2
COMMENTS
/
0
LIKES
divide 0 에러 발생 메시지 후킹하는 방법?
강민주
•
2000.07.04 22:24
유레카 wrote: > 제목대로 입니다. > > 퀵리포트에서 통계를 내야할때 간혹가다가 0이 수집될경우가 ...
유레카
•
2000.07.04 23:27
성찬
2000.07.04 15:50
0
COMMENTS
/
0
LIKES
폼끼리 도킹시키려면?
.....
2000.07.04 19:15
0
COMMENTS
/
0
LIKES
분류먼저 해주시길 부탁드립니다.
서문교
2000.07.04 15:27
0
COMMENTS
/
0
LIKES
익스플로러의 팝업메뉴에서 특정 프로그램 호출
송종영
2000.07.04 12:14
0
COMMENTS
/
0
LIKES
[부탁] Socket 사용법 / Client PC 종료방법 좀....
홍기원
•
•
2000.07.04 10:47
3
COMMENTS
/
1
LIKES
<조언부탁합니다> 소켓어러시 처리방법(에러코드는 10053,10054,10061 등)
- 클라이언트와 서버소켓을 각각 따로 두고 프로그램을 작성한후! 서버프로그램을 먼저 기동시키고, 클라이언트 프로그램을 기동 시켰습니다. 그러나 정산적인 경우에는 해당이 없는데, 예를 들어 클라이언트(소켓)가 비정상적 으로 종료 ...
이경문
•
2000.07.04 22:13
델파이에서 제공하는 TClientSocket과 TServerSocket은 사용에 있어서 주의를 요합니다. 해당하는 에러들...
김승일
•
2000.09.01 20:29
많은 도움이 됐습니다..
홍기원
•
2000.07.05 01:21
이경문 wrote: > 델파이에서 제공하는 TClientSocket과 TServerSocket은 사용에 있어서 주의를 요합니다. ...
[델파이]
•
2000.07.04 09:25
1
COMMENTS
/
0
LIKES
코덱 이란?
모승열
•
2000.07.10 17:57
[델파이] wrote: > 코덱이라는 것에 대한 설명좀 부탁드립니다.. > > COmpress or DECompress의 약...
김진호
•
2000.07.04 09:09
1
COMMENTS
/
0
LIKES
마우스로 선택한 부분의 텍스트만 알려면??
허춘
•
2000.07.04 10:32
김진호 wrote: > 예를 들어 ABCDEDF가 있을때 마우스로 ABC만 선택한 후에 선택된 택스트를 알려면 어떻게...
사발우성
•
2000.07.04 07:59
1
COMMENTS
/
0
LIKES
헐 퀵래포트에 관한질문임당...^^
허춘
•
2000.07.04 08:20
> 퀵리포트도 그리드처럼 만들수 있나엽 ^^ > 그리드처럼 줄이 쫙쫙쫙 ^^;; > 그럼 고수님들의 대답 기...
질문자
•
2000.07.04 07:06
1
COMMENTS
/
0
LIKES
콤보박스에서 온클릭,체인지이벤트 말구...제발요..
허춘
•
2000.07.04 08:27
> 제가 하고자 하는 코딩의 목적을 자세히 얘기 하자면요... > 음 > 콤보박스안의 내용을 마우스로 선택...
양승원
•
2000.07.04 07:00
1
COMMENTS
/
0
LIKES
꼭좀 부탁드립니다.
허춘
•
2000.07.04 08:16
> 근데...조건절에서 .......Where (Field1 + Field2 + Field3) like 'A01001%'해서 > 비교는 했거든요....
참신
2000.07.04 06:59
0
COMMENTS
/
0
LIKES
메모필드사용
이광민
•
2000.07.04 06:37
1
COMMENTS
/
0
LIKES
데이터베이스 데스크 탑에서 'corrupt Index'라는게 무슨 말인지..
허춘
•
2000.07.04 08:30
이광민 wrote: > 안녕하세요 델초보 이광민입니다 다름이 아니오라 제가 아시는 분이 짠 프로그램을 분석...
김병성
2000.07.04 05:58
0
COMMENTS
/
0
LIKES
왕! 왕! 초보입니다 도와주세요...
까마귀
•
2000.07.04 05:52
3
COMMENTS
/
0
LIKES
DateTimePicker 콤퍼넌트 드롭다운 방법을 알려주세요?
허춘
•
2000.07.04 08:43
> DateTimePicker에 포커스를 받으면 드롭다운 하려고 하는데 콤보박스처럼 되질 않는군요. > 여기저기...
아나키
•
2001.03.21 03:16
허춘 wrote: > > > DateTimePicker에 포커스를 받으면 드롭다운 하려고 하는데 콤보박스처럼 되질 않는...
tommy
•
2000.07.04 09:49
허춘 wrote: > > > DateTimePicker에 포커스를 받으면 드롭다운 하려고 하는데 콤보박스처럼 되질 않는...
최종민
•
2000.07.04 05:31
1
COMMENTS
/
0
LIKES
너무나도 쉬운 질문인 듯 한데요...
허춘
•
2000.07.04 08:34
최종민 wrote: > 음... > IBLOCAL의 알리아스를 사용하고...쿼리를 쓰는 아주 쉬운 예제를 연습하다가......
손상수
•
2000.07.04 03:50
2
COMMENTS
/
0
LIKES
엑셀파일을 읽어서 dgrid로 읽어오는 방법좀...^^;;;
최석기
•
2000.07.04 19:08
손상수 wrote: > 안녕하십니까! 고수님들... > opendailog를 사용하여 엑셀 파일을 읽어서 dbgrid에 내용...
손상수
•
2000.07.04 19:40
감사합니다. 이거 밥이라도 사야 되는데...다시한번 감사합니다. 꾸벅^^
홍기원
2000/07/04 10:47
Views
985
Likes
1
Comments
3
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
해당하는 에러들은 흔히 네트워킹 프로그램을 작성할 때 흔히 발생하는 에러들이지요.
10061은 ServerSocket이 열려 있지 않은 상태이거나
ClientSocket의 Address 및 Port의 설정이 잘못 되어 있는 상황에서 발생하는 에러입니다.
10053이나 10054는 한쪽에서는 데이터를 보내고 있는 중에
다른 한쪽의 프로그램이 그냥 종료될 때 발생하는 에러입니다.
그러므로 프로그램에서는 항상 TCP/IP 통신이 종료되었음을 확인하고 종료하는 방법을 써야 합니다.
예제를 들면 OnCloseQuery Event에서
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if ClientSocket1.Active then
begin
ClientSocket1.Close;
CanClose := false;
ShowMesage('한번 더 누르시면 종료됩니다');
end;
end;
다른 예제로는 OnClose Event에서
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if ClientSocket1.Active then
begin
ClientSocket1.Close;
while CliektSockte1.Active do
Application.ProcessMessages;
end;
end;
등과 같이 하셔야 하고 ServerSocket도 ClientSocket같은 방법을 사용하면 됩니다.
단 ServerSocket1.Socket.ActiveConnections가 0임을 확인하야 겠지요.