- 论坛徽章:
- 0
|
还是有问题,
class sockaddr(ctypes.Structure):
_fields_=[("sa_family",ctypes.c_ushort),
("sa_data",ctypes.c_char*14),
]
class in_addr(ctypes.Structure):
_fields_=[("s_addr",ctypes.c_uint32)]
class sockaddr_in(ctypes.Structure):
_fields_=[("sin_family",ctypes.c_short),
("sin_port",ctypes.c_ushort),
("sin_addr",in_addr),
("sinzero",ctypes.c_char* ,
]
my_in_addr=in_addr(struct.unpack('I',socket.inet_aton(IP))[0])
myaddr=sockaddr_in(AF_INET,
socket.htons(Port),
my_in_addr,
'\x00\x00\x00\x00\x00\x00\x00\x00',
)
myaddr_p=ctypes.pointer(myaddr)
mysocket=udt.socket(AF_INET,SOCK_STREAM,0)
udt.bind(mysocket,myaddr_p,ctypes.sizeof(myaddr))
系统显示:
Traceback (most recent call last):
File "C:\yuan\work\udt-dll\test_server.py", line 103, in <module>
udt.bind(mysocket,myaddr_p,ctypes.sizeof(myaddr))
TypeError: in method 'bind', argument 2 of type 'sockaddr const *'
>>> |
|