您的位置:首页 > 编程语言 > C语言/C++

c++ winsock 基本操作---创建

2008-02-03 11:19 363 查看
//vc++6.0

//sockettest.cpp

//需添加ws2_32.lib

//project->settings->link->object/liibrary Modules 文本框中添加ws2_32.lib

#include <stdio.h>

#include <iostream.h>

#include <winsock.h>

void main(void)

{

SOCKET skSocket;

sockaddr_in saServerAddress;

int iPort=6000;

int iStatus;

WSADATA wsaData;

WORD wVersionRequested;

skSocket = INVALID_SOCKET; //初始化套接字句柄

wVersionRequested=MAKEWORD(2,0);

iStatus=WSAStartup(wVersionRequested,&wsaData); //开启winsock

skSocket=socket(AF_INET,SOCK_STREAM,0); //创建套接字

if(skSocket==INVALID_SOCKET) //检查套接字是否创建成功

{

cout<<"**ERROR** Could Not Create Socket"<<endl;

WSACleanup();

exit(1);

}

cout<<"<--SOCKET CREATED-->"<<endl;

memset(&saServerAddress,0,sizeof(sockaddr_in));

saServerAddress.sin_family=AF_INET; //初始化套接字地址结构

saServerAddress.sin_addr.s_addr=htonl(INADDR_ANY);

saServerAddress.sin_port=htons(iPort);

//尝试绑定

if(bind(skSocket,(sockaddr*)&saServerAddress,sizeof(sockaddr))==SOCKET_ERROR)

{

cout<<"**ERROR** Could Not Bind"<<endl;

WSACleanup();

exit(1);

}

closesocket(skSocket); //关闭套接字

WSACleanup(); //清除winsock

cout<<"<--SOCKET BOUND-->"<<endl;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: