자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
C++ Builder 인디 TCP 서버 문자 수신 오류
2013.06.27 00:44
void __fastcall TForm1::IdTCPServer1Execute(TIdContext *AContext) {
try {
// UnicodeString strCommand;
String strCommand;
mmComList->Lines->Add("before3"); // 전송받은 데이터 한 줄 표시
//strCommand = AContext->Connection->IOHandler->ReadLn();
//strCommand = AContext->Connection->IOHandler->ReadLn(TEncoding::);
// strCommand = AContext->Connection->IOHandler->ReadLn(TEncoding::Unicode);
strCommand = AContext->Connection->Socket->ReadLn(TEncoding::ANSI);//here!
위의 내용처럼 인디로 소켓을 만들어 테스트했는데 클라이언트를 인디클라이언트로 만들어 문자 전송하면 이상없이 잘 받는데
C# 프로그램으로 짠 클라이언트에서 문자 전송하면
//EIdSocketError : Socket Error # 10054 가 발생합니다.
Visual C++로 만든 클라이언트 프로그램은 C#으로 송신 문자를 잘 받습니다.
이유를 알 수 없네요. (문자 encoding 때문인 것 같은데)
XE2를 사용 중인데 해결 방법을 알려주시기 바랍니다.
댓글 0
C++ Builder 인디 TCP 서버 문자 수신 오류
2013.06.27 00:44
void __fastcall TForm1::IdTCPServer1Execute(TIdContext *AContext) {
try {
// UnicodeString strCommand;
String strCommand;
mmComList->Lines->Add("before3"); // 전송받은 데이터 한 줄 표시
//strCommand = AContext->Connection->IOHandler->ReadLn();
//strCommand = AContext->Connection->IOHandler->ReadLn(TEncoding::);
// strCommand = AContext->Connection->IOHandler->ReadLn(TEncoding::Unicode);
strCommand = AContext->Connection->Socket->ReadLn(TEncoding::ANSI);//here!
위의 내용처럼 인디로 소켓을 만들어 테스트했는데 클라이언트를 인디클라이언트로 만들어 문자 전송하면 이상없이 잘 받는데
C# 프로그램으로 짠 클라이언트에서 문자 전송하면
//EIdSocketError : Socket Error # 10054 가 발생합니다.
Visual C++로 만든 클라이언트 프로그램은 C#으로 송신 문자를 잘 받습니다.
이유를 알 수 없네요. (문자 encoding 때문인 것 같은데)
XE2를 사용 중인데 해결 방법을 알려주시기 바랍니다.