winsock网络编程的事例小程序

1885 人浏览 | 时间: 2015-08-26 22:13:49 | 作者: 145742784

    这几个礼拜,一直在学winsock网络编程,这里写篇小winsock编程小心得,我们在学winsock编程之前最好有windows程序设计和MFC编程的基础,在这里,我强烈推荐本网站的创始人大大亲授的课程---windows程序设计,很不错!

    winsock编程流程如下:

    1,初始化和释放套接字库;

    先上代码:

WSADATA data;							//定义WSADATA结构体对象
WORD w=MAKEWORD(2,0);					//定义版本号码
::WSAStartup(w,&data);					//初始化套接字库
    对于WSAStartup()函数的说明,清查MSDN,如果没有,在本网站点击搜索,查VS2015,就能找到下载地址,还有快捷进去MSDN的方法,无需下载;我们用的是winsock2.0版本,因此,我们加载第二版本的套接字,MAKEWORD(2,0);	就是实现这功能;插一句,MAKEINTRESOUCE(),实现转化名称,最简单的例子就是,我们加载图标LoadIcon(....);如果我们只知道图标的ID号,而LoadIcon(...)参数要求是图标类型名称,我们就可以用他来转化。
2,创建套接字:
    




SOCKET s;						//定义连接套接字句柄
s=::socket(AF_INET,SOCK_STREAM,0);			//创建TCP套接字
讲解下AF_INET,它是socket第一个参数地址族,我们现在用的是IPv4,所有IPv4的tcp/地址族都是用它,而IPv6就是AF_INET6,第二个是套接字类型,我们创建的是tcp,用的是流式套接字SOCK_STREAM,最后一个参数默认为0;
3,绑定监听地址信息:
这是服务器上的操作:



sockaddr_in addr;
	addr.sin_family=AF_INET;				//初始化地址结构
	addr.sin_port=htons(75);
	addr.sin_addr.S_un.S_addr=INADDR_ANY;//表示服务器能接受任何计算机的请求
	::bind(s,(sockaddr*)&addr,sizeof(addr));	//绑定套接字
	::listen(s,5);								//监听套接字
	printf("服务器已经启动\r\n");				//输出提示信息 
在sock接口函数中,由于许多函数的参数都要求地址结构,后来我们就直接定义一个通用的地址结构
请微信扫码阅读。
为防止恶意爬虫,
已开启反爬机制,
理解哟~~~~
标注
评论
站内搜
百度搜
传送到手机
手机扫码,识别文字,完成传送x
加载中...
标注内容x
加载中...
添加标注x
收藏 0 点赞 0

相关阅读