0

Windows OS の Python で libmodbus.dll を使用して modbus スレーブを作成しています。ctypes を使用して dll をロードし、その機能を利用しました。ここで模倣しているサンプルコードがあります。dll 内の呼び出しの 1 つがソケットを開くことになります。

s = modbus_tcp_listen(ctx, 1);

例の最後に、ソケットを閉じる行があります

close(s);

close()libmodbus.dll の一部ではありません。図書館から#include <unistd.h>です。機能を備えた dll を取得せずにソケットを閉じる方法はありclose()ますか? close()そうでない場合、Windows プラットフォームでコマンドにアクセスするにはどうすればよいですか? 私が知っていることからunistd.h、posix用です。

4

1 に答える 1

0

socket.close(fd)ソケット記述子を取得して閉じた を使用できます。

import socket
...
server_socket = mbpi.modbus_tcp_listen(self._ctx, 1)
...
socket.close(server_socket.value) # Need to call attribute value since its a ctypes.c_int
于 2020-12-13T07:49:48.497 に答える