귀찮게 해서 죄송해요… 나는 당신의 예 (잘라내기 및 블로그 웹 페이지에서 붙여 넣기, 그래서 #include 있다)에 문제가 있습니다. stdio.h의 일부인 다른 문은 작동합니다 (예 : sprintf ())). 이 멋진 기사주셔서 감사합니다. 나는 아두 이더넷 보드 (ATMega328 + w5100)에서 아두 이더넷 보드 (ATMega328 + w5100)에서 코드를 시도하고, 모든 것이 잘 작동 (핑 확인, Http 확인). 단 한 가지는 나를 미치게 하는 것입니다. 줄: 웹 서버는 기본 인증을 지원합니다. 사용자 인증 데이터베이스에 최대 15개의 사용자 이름/암호 쌍을 저장할 수 있습니다. 사용자 정보에는 사용자 이름, 암호 및 인증 수준이 포함됩니다.

인증 수준은 1부터 99까지입니다. 인증 수준의 의미는 프로그램에 따라 다릅니다. 이 예제에서 «관리자» 계정은 항상 사용자 인증 수준 인 99입니다. 모든 시스템 사용자 계정에는 인증 수준이 10 이상입니다. 사용자 수준이 10미만인 모든 사용자 계정은 게스트 계정으로 처리됩니다. 이 예제에 대한 사용자 정보는 블록 번호 83의 블록 장치에 저장됩니다. 웹 서버 예제는 각 사용자 수준(관리자, 시스템 사용자, 게스트)을 지정된 제한 집합으로 제한합니다. 시작 시 예제 블록 파일은 W5100을 초기화한 다음 Forth 라이브러리 «NetConsole.forth»를 로드하고 초기화합니다. Forth 라이브러리 «NetConsole.forth»는 지연된 모든 콘솔 I/O 단어에 대한 대체 단어를 정의합니다. TCP I/O 포스 단어는 다음과 같습니다.

NC-TX NC-TX? NC-RX NC-RX? NC-rxclr. 새로운 TCP Forth 단어는 Forth word NET>CON을 사용하여 기본 라이브러리 포스 콘솔 I/O 단어에 할당하거나 직접 사용할 수 있습니다. 데모 코드가 시작되면 NetConsole 라이브러리는 네트워크 구성에서 설정된 TCP 포트를 사용하여 TCP 소켓에서 연결을 수신 하도록 설정됩니다. NetConsole 라이브러리는 현재 TCP 클라이언트의 연결이 닫히면 수신 대기 소켓을 자동으로 다시 생성하도록 구성됩니다. 대상 시스템이 TCP를 통해 연결되고 콘솔에 데이터를 출력하는 프로그램을 실행하는 경우 TCP 연결을 닫으면 다음 TCP 전송 시간이 종료되고 TCP 대상 시스템에 대한 연결이 다시 설정될 때까지 Forth 프로그램이 일시 중단됩니다. 예를 들어 Forth 문을 입력합니다. 0 8192 덤프를 누르고 Enter 키를 누릅니다. 대상 시스템이 터미널에 텍스트를 보내기 시작하면 터미널 프로그램의 TCP 연결을 닫습니다.