// Example.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <WINSOCK2.H>
#pragma comment(lib, "ws2_32.lib")
int main(int argc, char* argv[])
{
// SOCKET s = socket();
// if (INVALID_SOCKET == s)
// {
// //失败
// }
// #define AF_INET 2
// typedef unsigned int u_int;
// typedef u_int SOCKET;
//
// /*
// * Socket address, internet style.
// */
// struct sockaddr_in{
// short sin_family;
// u_short sin_port;
// struct in_addr sin_addr;
// char sin_zero[8];
// };
//
// char FAR * inet_ntoa(
// struct in_addr in
// );
// unsigned long inet_addr(
// const char FAR * cp
// );
//
//
// u_long htonl(
// u_long hostlong
// );
//
// u_short htons(
// u_short hostshort
// );
//
// u_long ntohl(
// u_long netlong
// );
// u_short ntohs(
// u_short netshort
// );
//
//
// int WSAStartup(
// WORD wVersionRequested,
// LPWSADATA lpWSAData
// );
//
// #define WSADESCRIPTION_LEN 256
// #define WSASYS_STATUS_LEN 128
//
// typedef struct WSAData{
// WORD wVersion;
// WORD wHighVersion;
// char szDescription[WSADESCRIPTION_LEN+1];
// char szSystemStatus[WSASYS_STATUS_LEN+1];
// unsigned short iMaxSockets;
// unsigned short iMaxUdpDg;
// char FAR * lpVendorInfo;
// }WSADATA, FAR * LPWSADATA;
//
//
// WORD wVersionRequested;
// WSADATA wsaData;
// int nErrCode;
//
// wVersionRequested = MAKEWORD( 2, 2 );
// nErrCode = WSAStartup( wVersionRequested, &wsaData );
// if ( err != 0 )
// {
// //没有找到可用的DLL
// return;
// }
//
// //检查返回的DLL是否为2.2
// if ( LOBYTE( wsaData.wVersion ) != 2 ||
// HIBYTE( wsaData.wVersion ) != 2 )
// {
// //没有找到可用的DLL
// WSACleanup( );
// return;
// }
//
// SOCKET socket(
// int af,
// int type,
// int protocol
// );
//
// SOCKET s = socket(AF_INET, SOCK_STREAM, SOCK_STREAM);
// if ( INVALID_SOCKET != s)
// {
// //失败
// }
//
// int bind(
// SOCKET s,
// const struct sockaddr FAR* name,
// int namelen
// );
//
// SOCKET s; //套接字
// struct sockaddr_in servAddr; //服务器套接字地址
// int nServPort = 5500; //服务器端口
// int nErrCode; //错误代码
//
// //定义服务器地址
// servAddr.sin_family = AF_INET;
// servAddr.sin_addr.S_addr = htonl(INADDR_ANY);
// servAddr.sin_family = htons(nServPort);
//
// //绑定套接字
// nErrCode = bind(s, (SOCKADDR*)&servAddr, sizeof(servAddr));
// if (SOCKET_ERROR == nErrCode)
// {
// //绑定套接字失败
// }
//
// int listen(
// SOCKET s,
// int backlog
// );
//
// SOCKET s; //套接字
// int nErrCode; //错误代码
// //监听
// nErrCode = listen(s, 3);
// if (SOCKET_ERROR == nErrCode)
// {
// //失败处理
// }
//
// SOCKET accept(
// SOCKET s,
// struct sockaddr FAR* addr,
// int FAR* addrlen
// );
//
//
// SOCKET sListen; //监听套接字
// SOCKET sAccept; //接受套接字
// sockaddr_in addrClient; //客户端地址
//
// int addrClientlen = sizeof(addrClient); //长度
//
// //接受客户端请求
// sAccept = accept(sListen,(SOCKADDR*)&addrClient, &addrClientlen);
// if(INVALID_SOCKET == sAccept)
// {
// //失败处理
// }
// MSG_PEEK
// int recv (
// SOCKET s,
// char FAR* buf,
// int len,
// int flags
// );
//
// SOCKET s; //套接字
// char buf[128]; //接收数据缓冲区
// int nReadLen; //接收字节数
// //接收数据
// nReadLen = recv(s, buf, 128, 0);
// if (SOCKET_ERROR == nReadLen)
// {
// //失败处理
// }
//
//
//
// int send(
// SOCKET s,
// const char FAR *buf,
// int len,
// int flags
// );
SOCKET s; //套接字
char buf[128]; //接收数据缓冲区
int retVal; //返回值
strcpy(buf, "send data"); //复制数据
//发送数据
retVal = send(s, buf, strlen(buf), 0);//
if (SOCKET_ERROR == retVal)
{
//失败处理
}
//printf("Hello World!\n");
return 0;
}
int closesocket(
SOCKET s
);
int shutdown(
SOCKET s,
int how
);
int connect(
SOCKET s,
const struct sockaddr FAR* name,
int namelen
);
SOCKET s; //套接字
u_long ulServIP; //服务器IP
u_short usServPort; //服务器端口
int retVal; //返回值
//服务器地址
SOCKADDR_IN servAddr;
servAddr.sin_family = AF_INET;
servAddr.sin_addr.S_un.S_addr = htonl(ulServIP);
servAddr.sin_port = htons(usServPort);
int nServLen = sizeof(servAddr);
//连接服务器
retVal=connect(s,(LPSOCKADDR)&servAddr, sizeof(servAddr));
if(SOCKET_ERROR == retVal)
{
//失败处理
}
int recvfrom(SOCKET s,
char FAR * buf,
int len,
int flags,
struct sockaddr FAR * from,
int FAR * fromlen
);
int sendto(SOCKET s,
const char FAR * buf,
int len,
int flags,
const struct sockaddr FAR * to,
int tolen
);
int getsockopt(
SOCKET s,
int level,
int optname,
char FAR* optval,
int FAR* optlen
);
int setsockopt(
SOCKET s,
int level,
int optname,
const char FAR * optval,
int optlen
);
setsockopt(SOCKET s, int level, int optname, const char FAR * optval, int optlen )
评论3
最新资源