资源简介
《精通Windows Sockets网络开发:基于Visual C++实现》由浅入深、循序渐进地讲解如何使用WindowsSockets开发网络应用程序。WindowsSockets是当前主要的网络开发技术之一。《精通Windows Sockets网络开发:基于Visual C++实现》内容包括准备开发环境、TCP/IP基本介绍、Windows套接字基础、协议特征、基本TCP套接字编程、基本UDP套接字编程、套接字选项、套接字阻塞模式开发、套接字非阻塞模式开发、Select模型开发、WSAAsyncSelect模型开发、WSAEventSelect模型开发、重叠I/O模型开发和完成端口模型开发
代码片段和文件信息
// Client.cpp : Defines the entry point for the console application.
//
#include “stdafx.h“
#define BUF_SZIE 64
#include “winsock2.h“
#pragma comment(lib “ws2_32.lib“)
int main(int argc char* argv[])
{
WSADATA wsd; //WSADATA变量
SOCKET sHost; //服务器套接字
SOCKADDR_IN servAddr; //服务器地址
char buf[BUF_SZIE]; //接收数据缓冲区
int retVal; //返回值
//初始化套结字动态库
if (WSAStartup(MAKEWORD(22) &wsd) != 0)
{
printf(“WSAStartup failed!\n“);
return -1;
}
//创建套接字
sHost = socket(AF_INET SOCK_STREAM IPPROTO_TCP);
if(INVALID_SOCKET == sHost)
{
printf(“socket failed!\n“);
WSACleanup();//释放套接字资源
return -1;
}
//设置服务器地址
servAddr.sin_family =AF_INET;
servAddr.sin_addr.s_addr = inet_addr(“127.0.0.1“);
servAddr.sin_port = htons((short)4999);
int nServAddlen = sizeof(servAddr);
//连接服务器
retVal=connect(sHost(LPSOCKADDR)&servAddr sizeof(servAddr));
if(SOCKET_ERROR == retVal)
{
printf(“connect failed!\n“);
closesocket(sHost); //关闭套接字
WSACleanup(); //释放套接字资源
return -1;
}
//向服务器发送数据
ZeroMemory(buf BUF_SZIE);
strcpy(buf “MyTCP“);
retVal = send(sHost buf strlen(buf) 0);
if (SOCKET_ERROR == retVal)
{
printf(“send failed!\n“);
closesocket(sHost); //关闭套接字
WSACleanup(); //释放套接字资源
return -1;
}
//退出
closesocket(sHost); //关闭套接字
WSACleanup(); //释放套接字资源
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1507 2008-01-30 15:17 17911\03\3.5\TCP\Client\Client.cpp
文件 4536 2008-01-30 11:35 17911\03\3.5\TCP\Client\Client.dsp
文件 293 2008-01-30 11:35 17911\03\3.5\TCP\Client\StdAfx.cpp
文件 769 2008-01-30 11:35 17911\03\3.5\TCP\Client\StdAfx.h
文件 2130 2008-03-07 10:56 17911\03\3.5\TCP\Server\Server.cpp
文件 4536 2008-01-30 11:34 17911\03\3.5\TCP\Server\Server.dsp
文件 734 2008-01-30 15:35 17911\03\3.5\TCP\Server\Server.dsw
文件 293 2008-01-30 11:34 17911\03\3.5\TCP\Server\StdAfx.cpp
文件 769 2008-01-30 11:34 17911\03\3.5\TCP\Server\StdAfx.h
文件 1282 2008-01-30 15:41 17911\03\3.7\UDP\Client\Client.cpp
文件 4536 2008-01-30 09:13 17911\03\3.7\UDP\Client\Client.dsp
文件 293 2008-01-30 09:13 17911\03\3.7\UDP\Client\StdAfx.cpp
文件 769 2008-01-30 09:13 17911\03\3.7\UDP\Client\StdAfx.h
文件 5232 2008-01-30 17:41 17911\03\3.7\UDP\Example.cpp
文件 4548 2008-01-28 21:10 17911\03\3.7\UDP\Example.dsp
文件 931 2008-01-30 09:13 17911\03\3.7\UDP\Example.dsw
文件 583 2008-02-03 08:10 17911\03\3.7\UDP\Example.positions
文件 2955 2008-01-30 23:34 17911\03\3.7\UDP\Server\Server.cpp
文件 4536 2008-01-30 09:13 17911\03\3.7\UDP\Server\Server.dsp
文件 734 2008-03-07 13:57 17911\03\3.7\UDP\Server\Server.dsw
文件 293 2008-01-30 09:13 17911\03\3.7\UDP\Server\StdAfx.cpp
文件 769 2008-01-30 09:13 17911\03\3.7\UDP\Server\StdAfx.h
文件 294 2008-01-28 21:10 17911\03\3.7\UDP\StdAfx.cpp
文件 769 2008-01-28 21:10 17911\03\3.7\UDP\StdAfx.h
..A..H. 10 2007-10-23 00:59 17911\04\4.4\Server\Desktop_.ini
文件 6565 2007-11-01 19:16 17911\04\4.4\Server\Server.cpp
文件 4474 2007-10-29 16:50 17911\04\4.4\Server\Server.dsp
文件 537 2008-03-07 14:04 17911\04\4.4\Server\Server.dsw
文件 293 2007-09-18 13:14 17911\04\4.4\Server\StdAfx.cpp
文件 769 2007-09-18 13:14 17911\04\4.4\Server\StdAfx.h
............此处省略322个文件信息
- 上一篇:基于opencv人眼定位算法C++工程
- 下一篇:给予c++的多线程
相关资源
- 单像空间后方交会 C++实现
- 自己写的Apriori算法c++实现
- 舞伴伴舞问题的C++实现
- rrt实现图片搜索.zip
- Bloom过滤器的C++实现
- C++实现数据结构源代码
- C++实现opencv+yolo+tensorflow+deepsort.txt
-
ros move_ba
se中多个导航点的c++实现 - C++实现简易文本编辑器
- 使用C++实现迷宫游戏
- C++实现银行排队系统
- c++实现决策树分类算法(内附测试数
- c++实现的字符串替换功能
- C++实现朴素贝叶斯分类器
- JPEG图片EXIF信息提取及缩略图显示VC
- shell.rar,一个用c++实现的具有基本完
- Qt-C++实现文件浏览器
- C++实现获取win7系统端口号IP状态和P
- C++实现哈夫曼树及哈夫曼编码.rar
- 华容道基本功能c++实现
- 基于暗通道和导向滤波的图像去雾算
- C++实现8方向A*算法
- WOA鲸鱼优化算法 C++实现
- icp C++实现包含测试数据
- DICOM医学图像格式转换的C++实现
- c++实现哈夫曼树的编译码
- C++实现小游戏flappy bird
- 20多个常用的Hash算法C++ 实现
- rgb24转yuv420高效率 完整代码,C++实现
- 编译原理C++实现判断LL1文法
评论
共有 条评论