Posted on 2012-05-20 10:17
C小加 閱讀(1873)
評論(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:
最后應該做的一些清理工作。