socket无法解析url
解析url的包括两种服务,一种是DNS,一种是url服务器提供的服务。
DNS负责将url中的域名解析为ip和端口,进而用户的计算机可以将url投递到目标服务器上。
然后服务器依据url中的请求,做出相应,并应答用户。
这些数据通信都是发生在tcp/ip层上的。而socket工作在此层,即socket为url访问提供服务,而非直接处理url
url不是用socket解析,只是用来获取IP地址和端口
比如url = http://www.abc.com,ip = www.abc.com
if(strstr(url, "http") == url)就表示用WWW协议,那么socket地址就是
sockaddr_in h; memset(&h, 0, sizeof(h));
h.sin_family = AF_INET;
h.sin_port = htons(80); //用80端口
h.sin_addr.s_addr = gethostbyname(ip);
至于在主地址后面的内容,就要看从socket 会话后recv的结果分析了。