当前位置:首页 » 编程软件 » c网络编程卷1

c网络编程卷1

发布时间: 2022-05-15 16:12:50

⑴ c++网络编程

客户端:

#include <iostream>
#include <Winsock2.h>
#include <sstream>
#pragma comment(lib, "Ws2_32.lib")

using namespace std;

#define MY_PORT 22222

char g_Buf[1024] = {0};

void main()
{
//网络环境
WSADATA wsaData;

//设置套接字版本号为v2.2
WSAStartup(MAKEWORD(2, 2), &wsaData);
cout << "服务器:开启网络..." << endl;

Sleep(1000);
system("cls");

SOCKET sock; //定义套接字

sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); //初始化套接字

SOCKADDR_IN ServerAddr = {}; //填充地址信息
ServerAddr.sin_family = AF_INET; //设置协议为TCP协议
ServerAddr.sin_port = /*htons(MY_PORT)*/MY_PORT; //设置端口 必须和服务器端口一致,不然连接不上服务器

cout << "请输入服务器的IP地址:"; //获取访问的地址

char cServerIP[32];
cin >> cServerIP;

ServerAddr.sin_addr.s_addr = inet_addr(cServerIP); //设置访问地址 inet_addr - 将字符串形式的IP地址转换为无符号长整形IP地址
cout << "开始连接服务器..." << endl;

Sleep(1500);
system("cls");

bool Cnt = true;
if (SOCKET_ERROR == connect(sock, (SOCKADDR*)&ServerAddr, sizeof(ServerAddr))) //连接服务器
{
cout << "连接服务器失败..." << endl;
Cnt = false;
}
else
{
cout << "成功连接服务器..." << endl;
Cnt = true;
}
while (1) //进入发送信息循环
{
if (Cnt == true)
{
cout << "请输入信息:";
cin >> g_Buf;

int iSend = send(sock, g_Buf, int(strlen(g_Buf) + 1), 0);

if (SOCKET_ERROR == iSend)
{
cout << "发送消息失败..." << endl;
cout << "服务器已经关闭!" << endl;
break;
}
else
{
if (0 == strcmp(g_Buf, "quit"))
{
cout << "发送退出消息..." << endl;

Sleep(1000);
system("cls");
cout << "关闭服务器..." << endl;
break;
}
else
{
Sleep(350);
recv(sock, g_Buf, 1024, 0);
cout << "服务器收到消息:" << g_Buf << endl;
}
}
}
else
{
break;
}
}
//cout << "关闭服务器..." << endl;

Sleep(2000);
system("cls");

cout << "关闭客户端..." << endl;
//释放资源
closesocket(sock);
Sleep(2000);
}
服务器端:

#include<iostream>
#include<Winsock2.h>
#pragma comment(lib, "Ws2_32.lib")

using namespace std;

#define MY_PORT 22222 // 端口
char g_Buf[1024] = {0}; //缓冲区

void main()
{
WSADATA wsaData; //网络环境

WSAStartup(MAKEWORD(2, 2), &wsaData); //设置套接字版本号为v2.2
cout << "服务器:开启网络链接..." << endl;

Sleep(1500);
system("cls");

SOCKET sListen; //定义监听套接字
sListen = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); //初始化监听套接字

SOCKADDR_IN Sadd = {};
Sadd.sin_family = AF_INET; //设置协议为TCP协议
Sadd.sin_port = /*htons(MY_PORT)*/MY_PORT; //设置端口

int SockAddSize = sizeof(SOCKADDR_IN); //套接字数据结构大小

bind(sListen, (SOCKADDR*)&Sadd, SockAddSize); //绑定套接字

cout << "服务器:绑定端口..." << endl;

Sleep(1500);
system("cls");

listen(sListen,SOMAXCONN); //设置套接字为监听模式,设置能同时监听的最大客户数量
cout << "服务器:开始监听..." << endl;

SOCKET sClient; //客户端套接字
SOCKADDR_IN Cadd = {}; //客户端套接字数据,包含IP等总要信息

sClient = accept(sListen, (SOCKADDR*)&Cadd, &SockAddSize); //建立,等待连接
if (INVALID_SOCKET == sClient)
{
WSACleanup();
}

cout<< "服务器:客户端【" <<
(int)Cadd.sin_addr.S_un.S_un_b.s_b1 << "." <<
(int)Cadd.sin_addr.S_un.S_un_b.s_b2 << "." <<
(int)Cadd.sin_addr.S_un.S_un_b.s_b3 << "." <<
(int)Cadd.sin_addr.S_un.S_un_b.s_b4 << "】已连接..." <<endl;

int iRecvNum = 0; //接收字节的个数
while (1)
{
iRecvNum = recv(sClient, g_Buf, 1024, 0); //接收数据

if (iRecvNum < 1)
{
cout << "服务器:客户端失去连接..." << endl;

Sleep(1500);
system("cls");

break;
}

send(sClient, g_Buf, 1024, 0);

if (strcmp(g_Buf,"quit") == 0)
{
cout << "服务器:客户端发送退出命令..." << g_Buf << endl;
break;
}

cout << "客户端" << /*Sadd.sin_port*/MY_PORT << "消息:" << g_Buf << endl;
}
cout << "服务器:准备关闭服务器..." << endl;

closesocket(sListen);
closesocket(sClient);
WSACleanup();
Sleep(2000);
system("cls");
cout << "服务器:已经关闭服务器..." << endl;
Sleep(2000);
}
启动的时候先启动服务器,然后启动客户端

⑵ 关于编程

1.编程好学吗?

这个绝对是因人而异,其实,如果你的抽象能力强的话,很好学,反之,那就要费些功夫。

不过我一直认为:无论哪个领域的高手都与他们是否是这个领域的天才无关,因为强烈的执念会产生人类伦理无法预期的才能。

你要热爱设计程序,热爱C++,孩子,明白。

2.哪个汇编语言比较有前途?
汗|||
孩子是不是再说那个机种的机器码呀。其实,现在用得最多的就是32位x86了。

如果你问的是那个语言有前途:那我告诉你:“为什么不去抢银行?”
那个语言学好了,前途无量,学不好,。。。。。。

不过,还是给你个参考:
\\1-常常开发10000行以下的小程序:vb\delphi很合适你。
\\2-经常开发30000行以下的程序,java很合适你。
\\3-希望无论什么时候都游刃有余,成为真正的大师,那C++很合适你。
。。。

3.推荐一些学习C++的书
《C++程序设计》\\叫这个名字的都是入门的,买一本就行。
《The progamming language C++》\\C++他爸爸的书,咱们还敢不看。
《The Effective C++》
《The More Effective C++》\\C++的提高必备;
《the iso c++》\\了解C++的每一个细节。

4.游戏软件编程这个行业在国内外吃香吗?
其实,真正吃香的游戏软件还是在日本之类的地方,咱们这里其实还不是太好,不过,你是高手,在哪都吃香。

linuxc语言编写的网络编程,可以在终端上简单的发送接收就好了,不需要界面,谢了,可以我

如果要是这样,我建设你直接在网上下载,电子书《UNIX网络编程.卷1》,并且还有随书的源码,里面这样的例子很多,从简单到复杂,什么例子都有

⑷ c语言网络编程 书

朋友,我的建议是,你在学网络编程之前,一定要把c基础学好,当然不只看谭教授的书了,下面推荐的几本书被公认为c语言方面的经典书籍,分别是:
1、c和指针 Kenneth A.Reek 着 徐波译 人民邮电出版社
2、c陷阱和缺陷 Andrew Koenig着 高巍译 人民邮电出版社
3、c专家编程 Dennis Ritchie着 人民邮电出版社
另外推荐基本网络编程书籍,也被称为经典,分别是:
1、TCP/IP详解 卷1:协议 W. Richard Stevens着 谢希仁校 机械工业出版社
2、unix网络编程(第三版) steven着 清华大学出版社
你说你c基础不是很好,所以我建议你看书的先后顺序:先把谭教授那本书看透,接着看上面的c语言方面的三本书籍,当然你可以先看其中的一本或两本,看透后,你的c语言功底就很不错了(一定要结合书里面的范例多做题),此时你的基础就打好了,就可以接着看下面我给你推荐的两本关于网路编程方面的书籍了!好好学习,学海无涯!

⑸ 求C++ 网络编程最好的书籍 谢谢了

学习编程基础也很重要的,路要一步一步地走。不要老是想到看一本书就成为高手。我给你推荐一些书吧,你可以选一些看。其中很多都是经典之作。C++是以C为基础的,所以你最好看一下C语言,网络方面,《计算机网络》和《TCP/IP详解》是必看的。望采纳。
1、算法
计算机程序设计艺术-------Donald.E.Knuth----------算法“倚天屠龙”双剑
算法导论-----------------Thomas H. Cormen--------算法“倚天屠龙”双剑
离散数学及其应用----------Kenneth H.Rosen
具体数学—计算机科学基础--------Donald.E.Knuth
2、数据结构
数据结构 C++
数据结构算法与应用
3、C语言
C程序设计语言(第2版·新版)---C语言“倚天屠龙双剑”---Brian W.Kernighan“C语言之父”
C Primer Plus中文版(第五版)--------C语言“倚天屠龙双剑”---Stephen Prata
C程序设计(第三版)---------------------------谭浩强
C语言大全(第四版)---------------------------HERBERT SCHILDT
C语言接口与实现:创建可重用软件的技术-------------DAVID R.HANSON
C语言参考手册(原书第5版)--------------------------Samuel P.Harbison
C程序设计教程---------------------------------H.M.Deitel/P.J.Deitel
C陷阱与缺陷-----------------------------------Andrew Koenig
5、C++
C++程序设计语言(特别版)---c++八大金刚----Bjarne Stroustrup“C++之父”
C++ Primer (第3版)中文版----c++八大金刚---Stanley B.Lippman
C++ Primer (第4版)中文版----c++八大金刚---Stanley B.Lippman
C++标准程序库—自修教程与参考手册--c++八大金刚--Nicolai M.Josuttis
C++语言的设计和演化-----c++八大金刚----Bjarne Stroustrup“C++之父”
深度探索C++对象模型---c++八大金刚----Stanley B.Lippman
Essential C++中文版---c++八大金刚---Stanley B.Lippman
Effective C++中文版 2nd Edition-----c++八大金刚------Scott Meyers
More Effective C++中文版----c++八大金刚------Scott Meyers
C++编程思想(第2版) 第1卷:标准C++导引--------Bruce Eckel
C++编程思想(第2版)第2卷:实用编程技术 --------Bruce Eckel
C++程序设计--------------------------谭浩强
C++ 程序设计教程(第2版)--------------钱能
C++ Primer Plus(第五版)中文版---Stephen Prata

6、操作系统
深入理解计算机系统(修订版)-------RANDAL E.BRYANT
计算机操作系统(第六版)
7、编译原理
跟我一起写makefile
《编译原理技术和工具》------- Alfred ------- 龙书
《现代编译原理-C语言描述》 ----------- Andrew W. Appel ----------- 虎书
《高级编译器设计与实现》 ----------- Steven S.Muchnick ----------- 鲸书
8、网络
计算机网络第四版中文版-----------Andrew S.Tanenbaum -------网络编程三剑客
TCP/IP详解3卷本--------------------Richard Stevens----网络编程三剑客
UNIX网络编程2卷本--------------------Richard Stevens----网络编程三剑客
用TCP/IP进行网际互联-----------Douglas E. Comer
高级TCP/IP编程-------------------Jon C. Snader
C++网络编程-----------------------Douglas Schmidt
UNIX环境高级编程(第2版)--------------------Richard Stevens
9、Linux
Linux内核设计与实现
Linux内核完全注释
LINUX内核分析及编程

⑹ 学习游戏开发应该从哪些方面入手

如果要自学游戏程序开发的话,可以看看下面的,呵呵。

游戏开发资料(PDF书都是中文版的,非英文,很多是本人自己扫描制作,从未网上发布过,所以独家啦):
1、Gamebryo 2.2游戏引擎(盛大、腾讯等公司制作网络游戏常用)+Gamebryo v2.2.1说明文档

2、游戏PDF书及其代码:
3D游戏编程、3D游戏编程大师技巧、Direct3D游戏编程入门教程第2版、DirectX角色扮演游戏编程
DirectX特效游戏程序设计、MFC windows程序设计第2版、MFC深入浅出、VC++深入详解、Visual C++6.0技术内幕第5版
Visual C++视频技术方案宝典、Win32多线程程序设计、Windows程序设计、WINDOWS核心编程
精通DirectX 3D图形与动画程序设计、设计模式解析第2版、游戏开发物理学、3D数学基础 图形与游戏开发

3、C++PDF书及其代码:
C++STL程序员开发指南、C++编程规范、C++标准程序库自修教程与参考手册、Essential c++ 中文版
Exceptional C++中文版、Inside the C++ Object Model、高质量C++编程指南、经典C程序100例
深度探索C++对象模型、深入探索C++物件模型、自己动手写操作系统、代码优化:有效使用内存
Effective C++、Effective C++ 第二版中文版、More Effective C++(中文版)

4、数据库SQL PDF书:
SQL网络编程实例、精通Oracle9i、精通Oracle 10g Pl SQL编程

5、Ogre3D PDF书及其代码:
Apress-Pro Ogre 3D Programming、OGRE中文帮助手册 v1.4.0、PRO OGRE 3D PROGRAMMING中文翻译版本0.2.0

6、人工智能PDF书及其代码:
AI游戏引擎程序设计、人工智能游戏编程真言、游戏编程中的人工智能技术、游戏开发中的人工智能
游戏人工智能编程案例精粹

7、游戏开发网络编程PDF书及源代码:
C++网络编程卷1&2、Network Programming For Microsoft Window、Visual C++实践与提高-网络编程篇
Visual C++网络通信编程实用案例精选第2版、Visual C++网络游戏建模与实现(第2版)、Windows Sockets
Windows网络与通信程序设计、韩国传奇正式最终版本源码、网络游戏服务器编程、游戏学院网络游戏服务器端编程
最新传奇M2引擎程序源码、Internetworking with TCP_IP Vol 3 Client-Server Programming And Applications
PC游戏编程(网络篇)、Visual C++.NET网络编程、Winsock规范及应用、传奇3源程序、魔域服务端源码+客户端源码
盛大传奇外挂源代码

此DVD出售中,呵呵。链接在最下面。

以下是游戏公司的招聘启事:
腾讯3D游戏引擎工程师
熟悉实时3D的基本知识和算法,包括一些3D开发相关的数学基础;
能熟练使用Direct3D编写3D程序;
能熟练的用C++进行开发。
有以下经验者优先考虑:
使用过gamebryo开发游戏一年以上;
作为3D程序开发过一个游戏以上;
开发过一个成型的3D引擎。
联系邮件: [email protected]

盛大网络(上海)
客户端程序员:
职位要求:
1. 热衷游戏开发事业,有耐心和自信心,学习能力强,有较强的逻辑思维能力,工作认真,有团队合作精神。
2. 本科以上学历,有1年以上游戏开发经验。
3. 有3年以上C++程序开发工作经验,熟悉STL、数据结构和设计模式。
4. 熟悉DirectX或OpenGL程序开发,有良好的数学基础,熟悉矩阵运算
5. 熟悉gamebryo引擎,熟悉Shader编程和相关图形工作经验者优先。

服务器程序员:
职位要求:
1. 热衷游戏开发事业,有耐心和自信心,学习能力强,有较强的逻辑思维能力,工作认真,有团队合作精神。
2. 本科以上学历,有1年以上的网络游戏开发工作经验。
3. 有3年以上C++程序开发经验,熟悉STL、数据结构和设计模式。
4. 熟悉TCP/IP协议,熟悉数据库编程。

本人总结的网络游戏程序开发学习流程,这是最少要看的书了:
1、C++primer中文版第4版
2、C++标准程序库自修教程与参考手册
3、Windows程序设计第5版
4、MFC windows程序设计第2版中文版
5、VC++深入详解
6、MFC深入浅出
7、Effictive STL
8、Windows核心编程
学好以上几本,也可以去游戏公司一试VC++软件工程师职位了。
9、WINDOWS游戏编程大师技巧第2版
10、3D游戏编程大师技巧
11、DirectX角色扮演游戏编程
12、DirectX特效游戏程序设计
13、精通DirectX 3D图形与动画程序设计
14、DirectX高级动画制作
15、Ogre引擎研究
16、游戏人工智能编程案例精粹
17、Visual C++实践与提高--网络编程篇
18、C++网络编程,卷1
19、C++网络编程,卷2
20、Visual C++网络游戏建模与实现第2版
21、代码优化:有效使用内存
22、编个Demo出来,好好复习一下C++和数据结构,然后去游戏公司应聘。
另外,游戏编程精粹1-6,GPU精粹1-2,也是好书,很多游戏开发者看的。以后可以看看。
还有千万别信那些什么所谓的游戏学院会把你培养起来,在他们那里想学好游戏是很难的,他们教的都是皮毛,公司用不上,还有他们提出分配工作几乎不可能实现,现在游戏公司宁愿要计算机大专毕业生也不敢要游戏学院的,啥也不懂,你真想好好学的话自己可要下点苦心,多进点中国编程的网站——Gameres论坛

⑺ 你好:如果想要读懂​《Unix高级环境编程》和《Unix网络编程卷1,套接字》

  1. 这些书我都读过了,全是买的实体书

  2. 高级环境编程和两本网络编程其实是相辅相成的

  3. 如果想在linux下发展,鸟哥基础篇最好看看,很好

  4. 这些学习的前提是要有一定的c语言基础

  5. 在学习网络编程时,可以顺便参考一下《tcp/ip详解.卷1》

  6. 其实头三本书,已经非常不错了,如果可以认真学完,水平也算可以了,就是要实践来弥补不足了

  7. 建议:不要贪多,更不要放弃,切记切记

热点内容
网投源码 发布:2024-05-06 17:10:35 浏览:870
看门狗脚本 发布:2024-05-06 17:10:28 浏览:107
如何查看服务器型号主板型号 发布:2024-05-06 16:52:25 浏览:601
无冬之夜脚本 发布:2024-05-06 16:46:04 浏览:634
双引号在c语言 发布:2024-05-06 16:45:52 浏览:966
数据库字体 发布:2024-05-06 16:33:53 浏览:697
c语言链表建立 发布:2024-05-06 16:17:33 浏览:221
python3xlwt3 发布:2024-05-06 16:09:59 浏览:373
c语言的意思啊 发布:2024-05-06 15:54:19 浏览:70
如何重置手机密码realme 发布:2024-05-06 14:57:25 浏览:348