问题:
编写HTTP协议客户端,在指定的interface上从HTTP server上传或者下载文件。
socket代码编写过程所遇到的问题:
一开始利用socket的bind函数,将解析出来的interface的IP地址绑定到socket.
static unsigned int local_port = 1024;
struct sockaddr_in local_addr;
bzero(&local_addr,sizeof(local_addr));
local_addr.sin_addr.s_addr = inet_addr(IpAddr);//IpAddr 是解析出来的IP地址字串
local_addr.sin_family = AF_INET;
local_addr.sin_port = htons(++local_port);
if((status = bind(sockfd,(struct sockaddr *)&local_addr,sizeof(struct sockaddr))) == -1){
printf("bind error");
}
可是,虽然bind成功了,却仍然从default 的interface进行上传和下载的动作。