Posted on 2012-05-20 10:17 
C小加 阅读(1899) 
评论(2)  编辑 收藏 引用  所属分类: 
网络编程 
			 
			
		 
		一、Socket简单介绍
  Socket的中文翻译是套接字,它是TCP/IP网络环境下应用程序与底层通信驱动程序之间运行的开发接口,它可以将应用程序与具体的TCP/IP隔离开来,使得应用程序不需要了解TCP/IP的具体细节,就能够实现数据传输。
  关于Socket需要了解的还有很多,我将在随后的章节里陆续写上。
  二、Socket应用程序框架
        这里先声明一下,我用的是32位win7系统,vs2010编译器。
  首先新建一个没有预编译头的Win32控制台应用程序。
  应用程序框架如下:
#include<iostream>
#include<winsock2.h>
//注释1
#pragma comment (lib,"ws2_32.lib")
//注释1
#include<stdlib.h>
using namespace std;
int main()
{    
    WSADATA wsadata;
//注释2
    if( WSAStartup( MAKEWORD(2,2),&wsadata )!=0 )
//注释3
    {
        printf("WSAStartup无法初始化!\n");        
return 0;
    }    
//使用Winsock实现网络通信
    //

    //最后应该做的清理工作
    if(WSACleanup()==SOCKET_ERROR)
//注释4
        printf("WSACleanup出错\n");
    system("pause");    
return 0;
}
注释1:
  我们在vs中一般使用Winsock2实现网络通信功能,需要引进头文件winsock2.h和库文件ws2_32.lib。
  注释2:
  WSADATA结构体中主要包含了系统所支持的Winsock版本信息。
  注释3“
           WSAStartup()函数用于初始化Windows Sockets,并返回WSADATA结构体。只有调用WSAStartup()函数后,应用程序才能调用其他Windows Sockets API函数,实现网络通信。
           第一个参数是版本号,第二个参数用于接收版本信息。
           如果函数执行成功则会返回0。
  注释4:
           最后应该做的一些清理工作。