當前位置:首頁 » 編程軟體 » 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. 建議:不要貪多,更不要放棄,切記切記

熱點內容
androidxhdpi 發布:2024-04-24 15:37:42 瀏覽:170
手機搭建ftp伺服器app 發布:2024-04-24 15:37:41 瀏覽:36
xt5哪個配置是電吸門 發布:2024-04-24 15:37:07 瀏覽:437
大學電腦配置哪個專業好 發布:2024-04-24 15:28:53 瀏覽:437
python在線課程 發布:2024-04-24 15:16:31 瀏覽:666
安卓光遇如何快速獲得20個愛心 發布:2024-04-24 15:16:27 瀏覽:903
電腦上怎麼建伺服器 發布:2024-04-24 15:15:33 瀏覽:566
dos安卓版怎麼用 發布:2024-04-24 15:15:32 瀏覽:541
華為雲伺服器轉移賬號 發布:2024-04-24 15:14:54 瀏覽:289
烏班圖伺服器查詢ip進不去 發布:2024-04-24 14:54:04 瀏覽:939