Windows下C语言实现HTTP client暨初次使用VS2017 win32 编程

https://blog.csdn.net/xiaoge2030/article/details/77604645 创建空项目

https://blog.csdn.net/hzrandd/article/details/51028869 socket知识

http://www.cnblogs.com/hhjfighting/p/8760086.html 南邮学子

https://blog.csdn.net/10km/article/details/80203286 中文乱码 未解决

建议:用2015不要用2017

如果是在用2017,创建空项目的时候不要勾SDL

后来问了一个同学才知道问题方向错了,在控制台里看结果的话要在win10语言设置里面

勾选上beta版,控制台就没有乱码了,但是你别的文件中文就会乱码_(:з」∠)_

int socket( int domain, int type, int ptotocol);

参数domain指明通信域,如PF_UNIX(unix域),PF_INET(IPv4),PF_INET6(IPv6)等;type指明通信类型,如SOCK_STREAM(面向连接方式)、SOCK_DGRAM(非面向连接方式)等。一般来说,参数protocol可设置为0,除非用在原始套接口上(原始套接口有一些特殊功能,后面还将介绍)。

int bind( int sockfd, const struct sockaddr * my_addr, socklen_t my_addr_len)) 
返回:0 ──成功, - 1 ──失败

参数sockfd
指定地址与哪个套接字绑定,这是一个由之前的socket函数调用返回的套接字。调用bind的函数之后,该套接字与一个相应的地址关联,发送到这个地址的数据可以通过这个套接字来读取与使用。

参数addr
指定地址。这是一个地址结构,并且是一个已经经过填写的有效的地址结构。调用bind之后这个地址与参数sockfd指定的套接字关联,从而实现上面所说的效果。

参数addrlen
正如大多数socket接口一样,内核不关心地址结构,当它复制或传递地址给驱动的时候,它依据这个值来确定需要复制多少数据。这已经成为socket接口中最常见的参数之一了。

bind函数并不是总是需要调用的,只有用户进程想与一个具体的地址或端口相关联的时候才需要调用这个函数。

https://blog.csdn.net/dongliqiang2006/article/details/5824651

第二个参数对于Ipv4来说,实际上需要填充的结构是struct sockadd

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值