实习完毕,用习惯的mac没了,再回来windows这边的话,估计也是研究的win32网络编程的比较多了。
这篇文章的源代码,是来自之前我做过的一个网安实验——端口复用实验
自我感觉,网络编程都是有那么几个固定步骤的——仿佛套路一般。
这里我是参考了一篇博客的:http://www.cnblogs.com/tianya2543/p/3889495.html
运行环境 : win7下的vc++
具体的解析可以看源代码中的注释:
客户端 client.cpp:
/*---- win32网络编程几步走 (客户端) ------*/
#include <WINSOCK2.H>
#include <STDIO.H>
#include <iostream>
using namespace std;
#pragma comment(lib,"ws2_32.lib")
int main(int argc, char* argv[])
{
WORD sockVersion = MAKEWORD(2,2);
WSADATA data;
if(WSAStartup(sockVersion, &data) != 0)
{
return 0;
}
/* ---- 1、创建套接字(socket) ------ */
SOCKET sclient = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if(sclient == INVALID_SOCKET)
{
printf("invalid socket !");
return 0;
}
sockaddr_in serAddr;
serAddr.sin_family = AF_INET;
serAddr.sin_port = htons(80);
serAddr.sin_addr.S_un.S_addr = inet_addr("172.16.0.15");
/* ------- 2、向服务器发出连接请求(connect) ------ */
if (con