# should work... lind_test_server.bind_syscall(sockfd, '127.0.0.1', 50102) # let's set some options!!! I'll check for function in different tests... assert (lind_test_server.getsockopt_syscall(sockfd, SOL_SOCKET, SO_REUSEPORT) == 0) assert (lind_test_server.getsockopt_syscall(sockfd, SOL_SOCKET, SO_LINGER) == 0) assert (lind_test_server.getsockopt_syscall(sockfd, SOL_SOCKET, SO_KEEPALIVE) == 0) # reuseport assert (lind_test_server.getsockopt_syscall(sockfd, SOL_SOCKET, SO_REUSEPORT) == 0) lind_test_server.setsockopt_syscall(sockfd, SOL_SOCKET, SO_REUSEPORT, 1) assert (lind_test_server.getsockopt_syscall(sockfd, SOL_SOCKET, SO_REUSEPORT) == 1) assert (lind_test_server.getsockopt_syscall(sockfd, SOL_SOCKET, SO_LINGER) == 0) assert (lind_test_server.getsockopt_syscall(sockfd, SOL_SOCKET, SO_KEEPALIVE) == 0) assert (lind_test_server.getsockopt_syscall(sockfd, SOL_SOCKET, SO_REUSEPORT) == 1) # linger assert (lind_test_server.getsockopt_syscall(sockfd, SOL_SOCKET, SO_LINGER) == 0) lind_test_server.setsockopt_syscall(sockfd, SOL_SOCKET, SO_LINGER, 1) assert (lind_test_server.getsockopt_syscall(sockfd, SOL_SOCKET,
from lind_net_constants import * SyscallError = lind_test_server.SyscallError sockfd = lind_test_server.socket_syscall(AF_INET, SOCK_STREAM, 0) # should work... lind_test_server.bind_syscall(sockfd,'127.0.0.1',50102) # let's try to bind another to the same IP /port... sockfd2 = lind_test_server.socket_syscall(AF_INET, SOCK_STREAM, 0) # let's set them to allow port reuse lind_test_server.setsockopt_syscall(sockfd, SOL_SOCKET, SO_REUSEPORT, 1) lind_test_server.setsockopt_syscall(sockfd2, SOL_SOCKET, SO_REUSEPORT, 1) # should work... lind_test_server.bind_syscall(sockfd2,'127.0.0.1',50102) # now let's try to listen on both... (should fail on the second) lind_test_server.listen_syscall(sockfd,10) try: lind_test_server.listen_syscall(sockfd2,10) except SyscallError, e: pass else: print 'double listen allowed!!!'
sockfd = lind_test_server.socket_syscall(AF_INET, SOCK_STREAM, 0) # should work... lind_test_server.bind_syscall(sockfd,'127.0.0.1',50102) # let's set some options!!! I'll check for function in different tests... assert(lind_test_server.getsockopt_syscall(sockfd, SOL_SOCKET, SO_REUSEPORT)==0) assert(lind_test_server.getsockopt_syscall(sockfd, SOL_SOCKET, SO_LINGER)==0) assert(lind_test_server.getsockopt_syscall(sockfd, SOL_SOCKET, SO_KEEPALIVE)==0) # reuseport assert(lind_test_server.getsockopt_syscall(sockfd, SOL_SOCKET, SO_REUSEPORT)==0) lind_test_server.setsockopt_syscall(sockfd, SOL_SOCKET, SO_REUSEPORT, 1) assert(lind_test_server.getsockopt_syscall(sockfd, SOL_SOCKET, SO_REUSEPORT)==1) assert(lind_test_server.getsockopt_syscall(sockfd, SOL_SOCKET, SO_LINGER)==0) assert(lind_test_server.getsockopt_syscall(sockfd, SOL_SOCKET, SO_KEEPALIVE)==0) assert(lind_test_server.getsockopt_syscall(sockfd, SOL_SOCKET, SO_REUSEPORT)==1) # linger assert(lind_test_server.getsockopt_syscall(sockfd, SOL_SOCKET, SO_LINGER)==0) lind_test_server.setsockopt_syscall(sockfd, SOL_SOCKET, SO_LINGER, 1) assert(lind_test_server.getsockopt_syscall(sockfd, SOL_SOCKET, SO_LINGER)==1) assert(lind_test_server.getsockopt_syscall(sockfd, SOL_SOCKET, SO_REUSEPORT)==1) assert(lind_test_server.getsockopt_syscall(sockfd, SOL_SOCKET, SO_LINGER)==1)
import lind_test_server from lind_net_constants import * SyscallError = lind_test_server.SyscallError sockfd = lind_test_server.socket_syscall(AF_INET, SOCK_STREAM, 0) # should work... lind_test_server.bind_syscall(sockfd, '127.0.0.1', 50102) # let's try to bind another to the same IP /port... sockfd2 = lind_test_server.socket_syscall(AF_INET, SOCK_STREAM, 0) # let's set them to allow port reuse lind_test_server.setsockopt_syscall(sockfd, SOL_SOCKET, SO_REUSEPORT, 1) lind_test_server.setsockopt_syscall(sockfd2, SOL_SOCKET, SO_REUSEPORT, 1) # should work... lind_test_server.bind_syscall(sockfd2, '127.0.0.1', 50102) # now let's try to listen on both... (should fail on the second) lind_test_server.listen_syscall(sockfd, 10) try: lind_test_server.listen_syscall(sockfd2, 10) except SyscallError, e: pass else: print 'double listen allowed!!!'