導航:首頁 > 編程語言 > csocket伺服器編程

csocket伺服器編程

發布時間:2022-01-13 09:25:53

1. C語言socket編程

send用戶名和密碼,然後再伺服器判斷這段字元串的賬號密碼是否符合,然後客戶端recv,如果recv的字元串是登錄成功,才進行下面操作.否則就提示用戶名和密碼有誤.

2. c++csocket編程 5種模式

1. 構造CSocket對象,如以下的形式:

CSocket Serversocket;

2. 利用CSocket對象的Create()函數創建Windows Socket,Create()函數會調用Bind()函數將此Socket綁定到指定的地址上,其原型為:

BOOL Create (UINT nSocketPort = 0, int nSocketType = SOCK_STREAM, LPCTSTR lpszSocketAddress = NULL);

其中nSocketPort參數指定通信連接的埠號,埠號可以任意指定,但最好不要使用系統默認的一些埠號,例如21是FTP文件傳輸使用的埠號;

3. Socket創建完畢之後,在伺服器端進行監聽客戶的連接請求,使用如下的代碼:

ServerSocket.Listen();

緊接著對於客戶端而言,將會調用Connect()函數向伺服器發送連接請求,而對於伺服器而言,則會調用Accept()函數對客戶端發送過來的請求連接進行接受和處理,Accept()函數可以創建一個和監聽Socket相同的連接Socket來處理客戶的請求,二原來的Socket仍然處於監聽狀態,使用的形式如下。

客戶端:

ClientSocket.Connect(伺服器的地址,伺服器的埠號);

伺服器端:

CSocket ReceiveSocket;

ServerSocket.Accept(連接Socket,客戶的地址結構,客戶地址結構的長度)

4. 對於數據流伺服器類型而言,伺服器和客戶各自通過調用函數來完成數據的發送和接受,使用如下的語句:

ServerReceive.Receive(緩沖區,緩沖區的長度,接受標志位);

Client.Send(緩沖區,緩沖區的長度,發送標志位);

5. 在客戶端與伺服器端的數據傳輸完成之後,調用下述語句,釋放Socket所佔有的資源。

ServerSocket.Close();

ReceiveSocket.Close();

ClientSocket.Close();

3. 用c語言寫socket編寫服務端

這個可以有的。我截圖給你看看

研究了這么久。現在也能獨立完成一個簡單的sock了。QQ2638512393.歡迎你加我一起學習探討。呵呵

4. C語言socket編程要怎麼實現伺服器可以發消息給客戶端

先要理解socket是什麼?
簡單的說socket是一個全雙工的通信通道,
即使用TCP或者UDP通信時均可以在發送消息的同時接受消息,
它不區分是否是伺服器。
根據這個概念你的問題就很好回答。
》當客戶端與伺服器連接後。有什麼方法使伺服器可以隨時隨地發消息給客戶端?
》我現在只能。客戶端發個消息給伺服器。伺服器才能發個消息給客戶端。也就是說客戶端不發消息。伺服器就沒法發消息給客戶端。
》求大牛給個思路。當連接後。客戶端與伺服器雙方可以隨時隨地通信!
使用多線程,一個維持接受邏輯,一個維持送信邏輯,即可完成同時接受及發送。
客戶端及伺服器端均做上述設置。
而你的做法是在一個線程中執行接受與送信,因此只能按照順序邏輯完成接收與送信。
關鍵點是多線程。

5. C語言Socket編程問題(互相通信)

客戶端與伺服器建立連接
客戶端調用connect函數時,已經知道伺服器的IP地址以及埠號
伺服器中accept返回的套接字中,包含客戶端的IP地址以及埠號
建立的連接是相互的,所以可以互通消息。

6. MFC編程CSocket類網路通信編程

我來補充一樓
你可以用Select模型來進行非阻塞recv
可以建立一個緩沖區,用來發送數據,在界面上輸入一些文字,然後點擊發送,實際上就是將這些文字寫入緩沖區中,然後由線程來進行發送。
接收:在發送後,寫上接收的函數,寫入一個接收的緩沖區,然後通知界面來這個緩沖區取數據(界面和線程要分開,線程用postmessage來控制主界面)。

7. C++網路編程(socket)我要寫一個伺服器端程序和一個客戶端程序

可以啊,解決方案上右鍵,添加項目,不過沒這個必要啊,因為你又不能只開一個VS來同時調試兩個項目。
設成啟動項目後可以按F5進行調試運行,或者CTRL+F5進行不調試運行,不過最後還是只能調試一個項目

8. C語言 socket編程 TFTP伺服器與客戶端的實現

想要快速入門socket編程,先找嵌入式linux方面的書籍來看,看關於文件操作部分,然後看基於tcp udp的socket編程實例,拿別人代碼跑一跑,就能理解了,往後想了解更多,可以往tcpip協議方面看也能往Linux網路編程方面看,對於tftp協議,基於udp來設計,只需要看看別人怎麼實現協議的代碼,然後用結構體等數據結構將協議的各個段封裝進去就行

9. 關於CSocket網路編程

怎麼可能,connect和accept執行順序是connect請求連接之後,accept才會接受到請求,返回一個socket,你那個connect沒作用,accept怎麼會有反應呢????

推薦你隨便看看那本有關mfc的書,一般將socket編程都有簡單的例子的,還有可以網路到別人已經完成的代碼,可以下來看看
http://thatax.blog.163.com/blog/static/20892680200872921640980/
希望對你有幫助

10. C語言編程socket有個客服端和服務端怎麼建文件並且運行

網路的Socket數據傳輸是一種特殊的I/O,Socket也是一種文件描述符。Socket也具有一個類似於打開文件的函數調用Socket(),該函數返回一個整型的Socket描述符,隨後的連接建立、數據傳輸等操作都是通過該Socket實現的。
下面用Socket實現一個windows下的c語言socket通信例子,這里我們客戶端傳遞一個字元串,伺服器端進行接收。

【伺服器端】
#include "stdafx.h"
#include <stdio.h>
#include <winsock2.h>
#include <winsock2.h>
#define SERVER_PORT 5208 //偵聽埠
void main()
{
WORD wVersionRequested;
WSADATA wsaData;
int ret, nLeft, length;
SOCKET sListen, sServer; //偵聽套接字,連接套接字
struct sockaddr_in saServer, saClient; //地址信息
char *ptr;//用於遍歷信息的指針
//WinSock初始化
wVersionRequested=MAKEWORD(2, 2); //希望使用的WinSock DLL 的版本
ret=WSAStartup(wVersionRequested, &wsaData);
if(ret!=0)
{
printf("WSAStartup() failed!\n");
return;
}
//創建Socket,使用TCP協議
sListen=socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (sListen == INVALID_SOCKET)
{
WSACleanup();
printf("socket() faild!\n");
return;
}
//構建本地地址信息
saServer.sin_family = AF_INET; //地址家族
saServer.sin_port = htons(SERVER_PORT); //注意轉化為網路位元組序
saServer.sin_addr.S_un.S_addr = htonl(INADDR_ANY); //使用INADDR_ANY 指示任意地址

//綁定
ret = bind(sListen, (struct sockaddr *)&saServer, sizeof(saServer));
if (ret == SOCKET_ERROR)
{
printf("bind() faild! code:%d\n", WSAGetLastError());
closesocket(sListen); //關閉套接字
WSACleanup();
return;
}

//偵聽連接請求
ret = listen(sListen, 5);
if (ret == SOCKET_ERROR)
{
printf("listen() faild! code:%d\n", WSAGetLastError());
closesocket(sListen); //關閉套接字
return;
}

printf("Waiting for client connecting!\n");
printf("Tips: Ctrl+c to quit!\n");
//阻塞等待接受客戶端連接
while(1)//循環監聽客戶端,永遠不停止,所以,在本項目中,我們沒有心跳包。
{
length = sizeof(saClient);
sServer = accept(sListen, (struct sockaddr *)&saClient, &length);
if (sServer == INVALID_SOCKET)
{
printf("accept() faild! code:%d\n", WSAGetLastError());
closesocket(sListen); //關閉套接字
WSACleanup();
return;
}
char receiveMessage[5000];
nLeft = sizeof(receiveMessage);
ptr = (char *)&receiveMessage;
while(nLeft>0)
{
//接收數據
ret = recv(sServer, ptr, 5000, 0);
if (ret == SOCKET_ERROR)
{
printf("recv() failed!\n");
return;
}
if (ret == 0) //客戶端已經關閉連接
{
printf("Client has closed the connection\n");
break;
}
nLeft -= ret;
ptr += ret;
}
printf("receive message:%s\n", receiveMessage);//列印我們接收到的消息。

}
// closesocket(sListen);
// closesocket(sServer);
// WSACleanup();
}
【客戶端】
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <winsock2.h>
#define SERVER_PORT 5208 //偵聽埠
void main()

閱讀全文

與csocket伺服器編程相關的資料

熱點內容
內心極度擔心解壓的音樂 瀏覽:890
穿搭技巧app卡色配什麼顏色 瀏覽:589
程序員得結石 瀏覽:126
查公司薪資的app叫什麼 瀏覽:409
壓縮包多個文件夾圖片連續看 瀏覽:482
linuxmysql無法用命令啟動 瀏覽:439
地稅身份認證用什麼ApP 瀏覽:529
網址加密後能防止被封網嗎 瀏覽:759
pic單片機項目 瀏覽:177
oppo手機忘記加密密碼忘了怎麼辦 瀏覽:151
演算法競賽入門經典代碼 瀏覽:155
多功能防盜加密鎖閉閥 瀏覽:862
遙控燈單片機 瀏覽:815
網路時間同步演算法 瀏覽:473
單片機p1口怎麼檢測 瀏覽:913
pdf高亮顏色 瀏覽:322
銀行程序員的工資多少 瀏覽:19
伺服器如何使用移動硬碟 瀏覽:533
pc飢荒為什麼沒有伺服器 瀏覽:442
阿里雲伺服器地址是什麼 瀏覽:148