tcp client socket bind problem
usenet at solar-empire.de
Mon Mar 10 15:40:10 CET 2008
natambu at gmail.com wrote:
> I have a linux box with multiple ip addresses. I want to make my
> python client connect from one of the ip addresses. Here is my code,
> no matter what valid information I put in the bind it always comes
> from the default ip address on the server. Am I doing something wrong?
> import socket
> host = "server"
> port = 1190
> sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
> sock.connect((host, port))
Looks good to me. Just to verify it, I added 127.1.2.3 as an address to
lo (ip addr add 127.1.2.3/8 dev lo broadcast 127.255.255.255), and...
>>> import socket
>>> sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
In another shell:
tolot:~> lsof -c python -a -i -nP
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
python 1287 tolot 3u IPv4 3553610 TCP 127.1.2.3:38329->127.0.0.1:80 (ESTABLISHED)
Looks correct. This is using Linux 2.6.23. So, if you're doing something
wrong, it's nothing obvious to me.
More information about the Python-list