boost::asio 연결 관리 6

956 단어
먼저 newLISP 프로그램 테스트를 시작하여 연결을 시작하고 정확한 문자 'a' 를 보내며 연결이 끊기고 오류 문자를 보내면 연결이 끊깁니다.
테스트 스크립트는 다음과 같습니다.
(define (quit-for-error)
  ((println (net-error)) (exit)))
(set 'socket (net-connect "localhost" 8888))
(if (net-send socket "a") (println "send a successfully") (quit-for-error))
(if socket (println (net-send socket "c")) (quit-for-error))
(exit)

newLISP 스크립트는 다음과 같이 설명합니다.
quit-for-error는 사용자 정의 함수로 네트워크 오류 정보를 출력하고 프로그램을 종료합니다.
모든 넷-send는 반환 값을 판단해야 하며,nil이면 종료합니다.
실행:
newlisp ./test_wrong_char.lsp
send a successfully
1

서비스 프로그램이 인쇄한 결과는 다음과 같습니다.
 ./cppapplication_4 
the number of connections is: 1
the new connection object is starting now.
correct data received
wrong data received, char is:99
closing the socket
~Connection

뒤에 다중 루틴 스크립트를 써서 10개의 연결을 시작해야 합니다.

좋은 웹페이지 즐겨찾기