當前位置:首頁 » 編程軟體 » c服務端編程

c服務端編程

發布時間: 2023-05-29 17:14:52

A. 基於c語言,網路編程,伺服器接收客戶端1的信息發送給客戶端2

char
buff2[1024*10];
int
receiveLen;
/*調用accept函數,等待客戶端的連接*/
client_fd=accept(sockfd,(struct
sockaddr
*)&client_sockaddr,&sin_size
/*調用recv函數接收客戶端的請求*/
recvbytes=recv(client_fd,buf,BUFFER_SIZE,0)
typedef
int
(WINAPI
ICEPUB_TCPSENDANDRECEIVETEXT)(char
*sendBuff,
int
sendBuffLen,char
*recvBuff,int
recvMaxLen,char*
serverIP,int
serverPort);
ICEPUB_TCPSENDANDRECEIVETEXT
*icePub_tcpSendAndReceiveText
=
0;
HINSTANCE

hDLLDrv
=
LoadLibrary
("icePubDll.dll");
if(hDLLDrv)
{
icePub_tcpSendAndReceiveText=(ICEPUB_TCPSENDANDRECEIVETEXT
*)
GetProcAddress
(hDLLDrv,"icePub_tcpSendAndReceiveText");
}
if(icePub_tcpSendAndReceiveText)
receiveLen=icePub_tcpSendAndReceiveText(buf,recvbytes),buff2,1024*10,"192.168.1.2",8000);
if(hDLLDrv)
FreeLibrary(hDLLDrv);
AfxMessageBox
(buff2);

B. 用c++開發伺服器端,需要學習哪些東西

伺服器所用到的知頌侍哪識:

  1. TCP/UDP,最基本的

  2. 並發——你可以選擇使用select、poll,或者是多線程、多進程

  3. 如果你使用多線程,那麼就必須使用同步技術——信號量、互斥體、條件變數的一種或幾種,並且對於多線程技術,你還需要考慮使用進行線程分離與合並,

  4. 如果你使用了多進程,那麼同步技術就不是你需要考慮的了,你需要考慮的是進程相關的問題了,你是使用fork還是vfork,你該如何處理客戶端的請求,如何處理客戶端斷開連接後保證能夠處理完數據並且沒有僵屍進野碼程產生,你還需要考慮高並發的問題

  5. 你發送接受數據的時候,採用何種方式,是阻塞的還是非阻塞的,還有連接超時、重傳等問題

  6. 你是選擇TCP還是UDP,如果選擇UDP你可得忙了,需要你自己去進行重傳驗證,模擬TCP的三次握手,保證數據不會丟失,保證數據的有序性

  7. 還有其他很多需要你考慮的,以上都是指在linux下的C++,本人對windows C++不了解

  8. 推薦書目:UNIX高級環境編程,UNIX網路編程,卷一。談空C++只不過是你使用這些技術的方式,不管你使用C還是C++,你都可以使用從這兩本書中學習到很多有用的知識,但是不能保證你就可以寫出高質量的伺服器程序。

C. 各位大哥,小弟想請問下C/C++伺服器端編程是做什麼的。需要學些什麼。麻煩詳細一點。謝謝

C/C++的伺服器端,比如我們經常玩的網游,那個伺服器端大部分都是C/C++編程的。還有本地連接,網上鄰居,ftp協議之類的,基本上windows的客戶端網路服務都有對應的伺服器。
當然要學習C/C++伺服器編程,涉及的方面就比較多了,重要的有網路連接,多線程,數據存儲等等的。
你可以參考一下騰訊在C/C++伺服器編程工程師的要求。
工作要求:
工作有激情, 認真負責,盡職盡責,溝通協作意識良好,能夠承擔工作壓力,具備良好的學習能力和分析解決問題能力;
全面的軟體知識結構(操作系統、數據結構、資料庫系統、網路安全),有兩年以上互聯網應用開發經驗,有無線互聯網後台開發經驗優先;
熟練使用C/C++語言,熟悉Linux下調試、開發環境,對多線程、緩存系統、高性能、高可用系統有經驗者優先;
熟悉TCP/IP協議,能熟練使用網路分析工具分析網路相關的故障,有一定的網路編程經驗;
熟悉資料庫的設計、使用與基本調優,熟練使用mysql資料庫進行業務開發;
熟悉Linux,具備Linux下的系統開發經驗;
具備大並發、分布式存儲、大容量系統開發運營經驗優先。

D. 如何搭建C/S中的伺服器端

1、確定客戶端和服務端之間採用的序列化和反序列化的交換格式,可以採用的有XML JSON PROTOBUF等等
2、確定了交換格式以後開始編寫程序
3、服務端編程大部分都是處理RPC,難點就是在與客戶端連接和接收數據這一塊
http is base on ftp:

http app layer
--------
ftp translation layer.
如果我的回答沒幫助到您,請繼續追問。

E. c語言怎麼開發伺服器

C語言開發談鉛唯伺服器可以說是一件非常困難和辛苦的事情。首先你需要對網路編程非常熟悉,因為伺服器需要通過網路進行訪問,它必須架構在網路協議上,然後你需要對網含培絡協議和相關激信的程序設計介面非常了解,比如socket編程、http協議及其編程介面等,然後你還要使用多線程,因為伺服器不可避免地要同時接受多個訪問請求。綜上,用C語言開發伺服器需要以上技術。


F. 如何用c語言實現http伺服器

去看一下《Advanced Linux Programming》這本書吧,第11章講的就是怎麼用C語言實現一Http伺服器。 這里有下載地址(英文的): http://www.advancedlinuxprogramming.com/alp-folder 英文看起來不順的話可以上網找找有沒有中文版的這本書,應該叫Linux高級編程吧~~~參考資料: http://www.advancedlinuxprogramming.com/alp-folder

G. 如何用C語言開發一個通用web伺服器

用C語言開發WEB,可以用C++BUILDER6,稱ISAPI,一般人可能做不起來,有點麻煩;
唯一是速度很快,別人看不到源碼,掌握了編程套路,也可以開發應用;
缺點:
1。不是解釋性語言,做的WEB調試非常麻煩;現在做WEB開發的,用C#、java較多;都是解釋性的語言;
2。因為是.DLL的二進制代碼,一般商業網站不給予運行的環境,因為網站伺服器會被你可能搞癱,安全性得不到保障;所以,你得自備網頁伺服器;
3。得不到技術支持,因為沒幾個人會這種開發;

H. 從事C/C++伺服器開發,網路編程方向有什麼好的書籍推薦呢

讀書使人進步,即使工作了,也要經常讀一些經典的書籍來充實自己,作為一名一線開發者,下面將自己覺得不錯的書籍進行推薦。

1.TCP/IP詳解(卷1)

由機械工業出版社出版,一個系列總共三卷,個人感覺卷一足矣。裡面基本涵蓋了網路的方散氏方面面,是我們補充基礎知識的良葯,這里建議大家直接讀英文版,遇到不認識的單詞可以藉助翻譯工具還是很方便的,中文版讀起來總是會有那麼的一點點小別扭。

2.TCP/IP網路編程

人民郵電出版,作者是韓國人,寫的還是很不錯的,可以作為一本很好的入門書籍,文中涉及到Windows和Linux兩大平台網路編程基礎知識,並以Linux為主,結尾是以HTTP伺服器實例向我們介紹了網路編程的方方面面,豆瓣評分8.5,不失為一本經典的網路編程書籍。

下面是一本本人親自整理的帶目錄的PDF書籍,如對這岩明本書比較敢興趣,歡迎私信+關注,我會在第一時間發送你。

3.Unix網路編程

APUE、UNP基本上是Linux開發必讀的「聖經」了,Unix網路編程,簡稱UNP,Linux環境下網路編程必讀經典書籍。豆瓣評分飈至9.2,內容簡介已經用到了傳世之作這四個字,經典之處不必多說。內容也是非常的詳盡,可以重點看看工作中常用到的部分,當做案頭書,常來翻翻也是不錯的,這里重點推薦下。

4.Linux多線程服務端編程

電子工業出版社出版,他們家關於IT類的書籍還是很不錯的,作者是大牛陳碩,以其開源的Muo網粗掘告絡庫為基礎,講解了Linux多線程服務端編程的知識,基本屬於進階性質了,閱讀本書,不僅需要你有足夠的C++功底,還有掌握一些C++11的知識,多線程、網路相關知識也是必備技能點。

基本上,看完這幾本書,再加上工作中的實戰,基本可以慢慢獨當一面了。

最後,歡迎大家關注我的頭條號,一個程序員的奮斗史,帶你走進真正的程序員視角,分析IT知識。

I. TCP伺服器和客戶機編程

真費時間呢…… import java.net.ServerSocket;
import java.net.Socket;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;public class TcpServer {
public static void main(String[] args) {
try {
final int PORT = 8888;
ServerSocket serverSocket = new ServerSocket(PORT);
Socket socket = serverSocket.accept();
InputStream is = socket.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader in = new BufferedReader(isr); OutputStream os = socket.getOutputStream();
PrintWriter out = new PrintWriter(os,true); String line;
while((line = in.readLine()) != null) {
System.out.println("server got msg " + line + " from " + socket.getRemoteSocketAddress());
line = "I am server!";
out.println(line);
System.out.println("server sent size(byte): " + line.getBytes().length);
} out.close();
in.close();
socket.close();
serverSocket.close();
} catch (IOException e) {
System.out.println(e);
System.exit(1);
}
}
}
import java.net.Socket;
import java.net.UnknownHostException;
import java.io.OutputStream;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.IOException;public class TcpClient {
public static void main(String[] args) throws IOException {
try {
final String SERVER_ADDRESS = "127.0.0.1";
final int PORT = 8888;
Socket socket = new Socket(SERVER_ADDRESS,PORT); OutputStream os = socket.getOutputStream();
PrintWriter out = new PrintWriter(os,true); InputStream is = socket.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader in = new BufferedReader(isr); String line;
line = "A line sent by the client";
out.println(line); line = in.readLine();
System.out.println("client got: " + line); out.close();
in.close();
socket.close();
} catch (UnknownHostException e) {
System.out.println(e);
} catch (IOException e) {
System.out.println(e);
}
}
}

熱點內容
androidactivity生命 發布:2024-04-27 07:33:48 瀏覽:84
win2008伺服器搭建網站 發布:2024-04-27 07:26:51 瀏覽:640
java的vector 發布:2024-04-27 07:05:00 瀏覽:204
舊電腦共享伺服器 發布:2024-04-27 06:32:21 瀏覽:339
java程序練習 發布:2024-04-27 06:24:00 瀏覽:438
sql30 發布:2024-04-27 06:22:10 瀏覽:55
怎樣防止sql注入 發布:2024-04-27 06:11:25 瀏覽:236
安卓為什麼不能登蘋果系統的游戲 發布:2024-04-27 06:11:23 瀏覽:601
編程日課 發布:2024-04-27 05:56:54 瀏覽:620
漏洞上傳工具 發布:2024-04-27 05:50:58 瀏覽:717