IDEとしてEclipseを使用して、AMZIプロローグロジックサーバーで開発しています。https://github.com/AmziLS/interfaces/tree/master/samples/internetで提案されている socket.pro の例を使用しています。Eclipse では、ソケット通信は、解釈されたバージョンおよびコンパイルされたバージョンとして正常に実行されます。次に、 https://www.amzi.com/manuals/amzi/ls/lsxsock.htmに従って .exe を作成しました。.exe を起動すると、正常に起動しますが、bind() コマンドで停止します。
main :-
wsaStartup(0x0101, Ver, HighVer, Desc, Status, MaxSockets, MaxUdpDg),
sdefine('SOCK_STREAM', SOCK_STREAM),
socket(SOCK_STREAM, 0, Sock),
sdefine('INADDR_ANY', INADDR_ANY),
w_msgbox(foo1),
bind(Sock, INADDR_ANY, 50540 ),
write(sock: Sock),nl,
listen(Sock, 1),
write( listening),nl,
repeat,
select([Sock], [Sock], [Sock], 0, 0, ReadList, WriteList, ErrorList),
catch(doreads(ReadList), X, endmain(Sock, X, Quit)),
Quit == yes.
(このバインドは Eclipse で成功します。ポートは AWS EC2 のセキュリティ ルールと Win 10 のファイアウォールで宣言されています)
手伝ってくれませんか?