网站建设网站营销网站托管一体化,wordpress社区代码,企业营销网站有哪些,做一个网站放网上要多少钱C网络编程
网络协议是计算机网络中通信双方必须遵循的一套规则和约定#xff0c;用于实现数据的传输、处理和控制。这些规则包括了数据格式、数据交换顺序、数据处理方式、错误检测和纠正等。网络协议是使不同类型的计算机和网络设备能够相互通信的基础#xff0c;是网络通信…C网络编程
网络协议是计算机网络中通信双方必须遵循的一套规则和约定用于实现数据的传输、处理和控制。这些规则包括了数据格式、数据交换顺序、数据处理方式、错误检测和纠正等。网络协议是使不同类型的计算机和网络设备能够相互通信的基础是网络通信的基石。
常见的网络协议 TCP/IP协议TCP/IPTransmission Control Protocol/Internet Protocol协议是互联网的基础协议包括了TCP传输控制协议和IP互联网协议等。TCP/IP协议族定义了网络中数据传输的规则包括了数据包的封装、路由选择、数据传输、错误检测和校正等。 HTTP协议超文本传输协议Hypertext Transfer Protocol用于从万维网服务器传输超文本到本地浏览器的传输协议。HTTP协议是基于TCP/IP协议的用于在浏览器和Web服务器之间进行通信。 HTTPS协议安全超文本传输协议Hypertext Transfer Protocol Secure是在HTTP的基础上加入了SSL/TLS协议用于提供加密和身份验证的网络协议。HTTPS协议确保了数据在传输过程中的安全性和完整性。 FTP协议文件传输协议File Transfer Protocol用于在计算机之间传输文件。FTP协议允许用户从远程服务器下载文件或向远程服务器上传文件。 SMTP协议简单邮件传输协议Simple Mail Transfer Protocol用于在电子邮件服务器之间传输邮件。SMTP协议定义了邮件服务器如何发送和接收邮件的标准。 DHCP协议动态主机配置协议Dynamic Host Configuration Protocol用于自动分配IP地址、子网掩码、默认网关等信息给网络设备简化了网络设备的配置过程。 DNS协议域名系统Domain Name System协议用于将域名转换为IP地址使得用户可以通过易于记忆的域名访问网络资源而不是直接使用IP地址。
协议的作用
数据传输确保数据能够从发送方正确传输到接收方。错误检测与纠正通过校验和、CRC循环冗余校验等机制检测数据传输过程中的错误并尝试纠正这些错误。资源管理控制网络资源的使用如带宽分配、优先级设置等。安全性通过加密、认证、授权等机制保护数据传输的安全性。兼容性确保不同类型的设备和系统能够相互通信实现互操作性。
网络协议的复杂性体现在它们需要在高效性、可靠性和安全性之间找到平衡同时还要考虑到不同设备和应用的具体需求。随着技术的发展新的网络协议不断涌现以满足日益增长的网络通信需求。
1、windwos和linux代码案例
Service.cpp
#include iostream
#include string#ifdef __linux__
// Linux平台相关代码
#include sys/types.h
#include sys/socket.h
#include netinet/in.h
#include arpa/inet.h
#include unistd.h#elif defined(_WIN32)
// Windows平台相关代码#include winsock2.h
#pragma comment(lib,ws2_32.lib)
#else
// 其他平台处理
#endifint main() {
#ifdef __linux__// 创建socketint server_fd socket(AF_INET, SOCK_STREAM, 0);if (server_fd -1) {std::cerr Error creating socket\n;return 1;}// 绑定IP和端口struct sockaddr_in server_addr;server_addr.sin_family AF_INET;server_addr.sin_addr.s_addr INADDR_ANY;server_addr.sin_port htons(8888);if (bind(server_fd, (struct sockaddr*)server_addr, sizeof(server_addr)) 0) {std::cerr Binding failed\n;return 1;}// 开始监听listen(server_fd, 5);// 等待连接int client_fd accept(server_fd, NULL, NULL);if (client_fd 0) {std::cerr Error accepting connection\n;return 1;}// 从客户端接收数据char buffer[1024] { 0 };read(client_fd, buffer, 1024);std::cout Received: buffer std::endl;// 发送数据到客户端std::string response Hello from server;send(client_fd, response.c_str(), response.size(), 0);// 关闭连接close(client_fd);close(server_fd);#elif defined(_WIN32)// Initialize WinsockWSADATA wsaData;int iResult WSAStartup(MAKEWORD(2, 2), wsaData);if (iResult ! 0) {std::cerr WSAStartup failed with error: iResult std::endl;return 1;}// Create a TCP server socketSOCKET serverSocket socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);if (serverSocket INVALID_SOCKET) {std::cerr Error creating server socket std::endl;WSACleanup();return 1;}// Bind the socket to a portsockaddr_in serverAddr;serverAddr.sin_family AF_INET;serverAddr.sin_addr.s_addr INADDR_ANY;serverAddr.sin_port htons(12345); // Port numberif (bind(serverSocket, (sockaddr*)serverAddr, sizeof(serverAddr)) SOCKET_ERROR) {std::cerr Bind failed with error std::endl;closesocket(serverSocket);WSACleanup();return 1;}// Listen for incoming connectionsif (listen(serverSocket, SOMAXCONN) SOCKET_ERROR) {std::cerr Listen failed with error std::endl;closesocket(serverSocket);WSACleanup();return 1;}// Accept a client connectionSOCKET clientSocket accept(serverSocket, NULL, NULL);if (clientSocket INVALID_SOCKET) {std::cerr Accept failed with error std::endl;closesocket(serverSocket);WSACleanup();return 1;}// Send data to the clientstd::string message Hello, client!;send(clientSocket, message.c_str(), message.size(), 0);// Close the socketsclosesocket(clientSocket);closesocket(serverSocket);WSACleanup();
#else#endif // __linux__return 0;
}
}
Client.cpp
#include iostream
#include string#ifdef __linux__
// Linux平台相关代码
#include sys/types.h
#include sys/socket.h
#include netinet/in.h
#include arpa/inet.h
#include unistd.h#elif defined(_WIN32)
// Windows平台相关代码#include winsock2.h
#pragma comment(lib,ws2_32.lib)
#else
// 其他平台处理
#endifint main() {#ifdef __linux__// Linux平台相关代码// 创建socketint client_fd socket(AF_INET, SOCK_STREAM, 0);if (client_fd -1) {std::cerr Error creating socket\n;return 1;}// 连接到服务器struct sockaddr_in server_addr;server_addr.sin_family AF_INET;server_addr.sin_port htons(8888);if (inet_pton(AF_INET, 127.0.0.1, server_addr.sin_addr) 0) {std::cerr Invalid address\n;return 1;}if (connect(client_fd, (struct sockaddr*)server_addr, sizeof(server_addr)) 0) {std::cerr Connection failed\n;return 1;}// 发送数据到服务器std::string message Hello from client;send(client_fd, message.c_str(), message.size(), 0);// 接收服务器响应char buffer[1024] { 0 };read(client_fd, buffer, 1024);std::cout Server response: buffer std::endl;// 关闭连接close(client_fd);#elif defined(_WIN32)// Windows平台相关代码// Initialize WinsockWSADATA wsaData;int iResult WSAStartup(MAKEWORD(2, 2), wsaData);if (iResult ! 0) {std::cerr WSAStartup failed with error: iResult std::endl;return 1;
}// Create a TCP client socketSOCKET clientSocket socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);if (clientSocket INVALID_SOCKET) {std::cerr Error creating client socket std::endl;WSACleanup();return 1;}// Connect to the serversockaddr_in serverAddr;serverAddr.sin_family AF_INET;serverAddr.sin_addr.s_addr inet_addr(127.0.0.1); // Server IP addressserverAddr.sin_port htons(12345); // Port numberif (connect(clientSocket, (sockaddr*)serverAddr, sizeof(serverAddr)) SOCKET_ERROR) {std::cerr Connect failed with error std::endl;closesocket(clientSocket);WSACleanup();return 1;}// Receive data from the serverchar buffer[1024] { 0 };recv(clientSocket, buffer, 1024, 0);std::cout Server says: buffer std::endl;// Close the socketclosesocket(clientSocket);WSACleanup();#else// 其他平台处理
#endifreturn 0;
}
result: 文章转载自: http://www.morning.hwsgk.cn.gov.cn.hwsgk.cn http://www.morning.pumali.com.gov.cn.pumali.com http://www.morning.rxyz.cn.gov.cn.rxyz.cn http://www.morning.jwgmx.cn.gov.cn.jwgmx.cn http://www.morning.rjnm.cn.gov.cn.rjnm.cn http://www.morning.wyrsn.cn.gov.cn.wyrsn.cn http://www.morning.dkfb.cn.gov.cn.dkfb.cn http://www.morning.fynkt.cn.gov.cn.fynkt.cn http://www.morning.poapal.com.gov.cn.poapal.com http://www.morning.mkxxk.cn.gov.cn.mkxxk.cn http://www.morning.symgk.cn.gov.cn.symgk.cn http://www.morning.ypcd.cn.gov.cn.ypcd.cn http://www.morning.gqwbl.cn.gov.cn.gqwbl.cn http://www.morning.fhsgw.cn.gov.cn.fhsgw.cn http://www.morning.rljr.cn.gov.cn.rljr.cn http://www.morning.wzwpz.cn.gov.cn.wzwpz.cn http://www.morning.qrgfw.cn.gov.cn.qrgfw.cn http://www.morning.ztfzm.cn.gov.cn.ztfzm.cn http://www.morning.xylxm.cn.gov.cn.xylxm.cn http://www.morning.snktp.cn.gov.cn.snktp.cn http://www.morning.gjlxn.cn.gov.cn.gjlxn.cn http://www.morning.rkypb.cn.gov.cn.rkypb.cn http://www.morning.dxqwm.cn.gov.cn.dxqwm.cn http://www.morning.mjtft.cn.gov.cn.mjtft.cn http://www.morning.ljjmr.cn.gov.cn.ljjmr.cn http://www.morning.neletea.com.gov.cn.neletea.com http://www.morning.hpcpp.cn.gov.cn.hpcpp.cn http://www.morning.ndzhl.cn.gov.cn.ndzhl.cn http://www.morning.xcyzy.cn.gov.cn.xcyzy.cn http://www.morning.fjkkx.cn.gov.cn.fjkkx.cn http://www.morning.qmbpy.cn.gov.cn.qmbpy.cn http://www.morning.zttjs.cn.gov.cn.zttjs.cn http://www.morning.rtsx.cn.gov.cn.rtsx.cn http://www.morning.wmcng.cn.gov.cn.wmcng.cn http://www.morning.jqswf.cn.gov.cn.jqswf.cn http://www.morning.lhytw.cn.gov.cn.lhytw.cn http://www.morning.fmznd.cn.gov.cn.fmznd.cn http://www.morning.knngw.cn.gov.cn.knngw.cn http://www.morning.yzfrh.cn.gov.cn.yzfrh.cn http://www.morning.rwmqp.cn.gov.cn.rwmqp.cn http://www.morning.sjwiki.com.gov.cn.sjwiki.com http://www.morning.pqjpw.cn.gov.cn.pqjpw.cn http://www.morning.lbbrw.cn.gov.cn.lbbrw.cn http://www.morning.tztgq.cn.gov.cn.tztgq.cn http://www.morning.ybnps.cn.gov.cn.ybnps.cn http://www.morning.rjznm.cn.gov.cn.rjznm.cn http://www.morning.cnyqj.cn.gov.cn.cnyqj.cn http://www.morning.bpmnz.cn.gov.cn.bpmnz.cn http://www.morning.prkdl.cn.gov.cn.prkdl.cn http://www.morning.pfkrw.cn.gov.cn.pfkrw.cn http://www.morning.nrrzw.cn.gov.cn.nrrzw.cn http://www.morning.npgwb.cn.gov.cn.npgwb.cn http://www.morning.bwttj.cn.gov.cn.bwttj.cn http://www.morning.nnjq.cn.gov.cn.nnjq.cn http://www.morning.fgxws.cn.gov.cn.fgxws.cn http://www.morning.xqspn.cn.gov.cn.xqspn.cn http://www.morning.brxzt.cn.gov.cn.brxzt.cn http://www.morning.bqmhm.cn.gov.cn.bqmhm.cn http://www.morning.zdbfl.cn.gov.cn.zdbfl.cn http://www.morning.wglhz.cn.gov.cn.wglhz.cn http://www.morning.jpkk.cn.gov.cn.jpkk.cn http://www.morning.lqlfj.cn.gov.cn.lqlfj.cn http://www.morning.ynlpy.cn.gov.cn.ynlpy.cn http://www.morning.snygg.cn.gov.cn.snygg.cn http://www.morning.hympq.cn.gov.cn.hympq.cn http://www.morning.cklld.cn.gov.cn.cklld.cn http://www.morning.jynzb.cn.gov.cn.jynzb.cn http://www.morning.nwllb.cn.gov.cn.nwllb.cn http://www.morning.24vy.com.gov.cn.24vy.com http://www.morning.qfgxk.cn.gov.cn.qfgxk.cn http://www.morning.lxlfr.cn.gov.cn.lxlfr.cn http://www.morning.krzrg.cn.gov.cn.krzrg.cn http://www.morning.mhpmw.cn.gov.cn.mhpmw.cn http://www.morning.zdsqb.cn.gov.cn.zdsqb.cn http://www.morning.pqkrh.cn.gov.cn.pqkrh.cn http://www.morning.ctxt.cn.gov.cn.ctxt.cn http://www.morning.srtw.cn.gov.cn.srtw.cn http://www.morning.ggnfy.cn.gov.cn.ggnfy.cn http://www.morning.wptdg.cn.gov.cn.wptdg.cn http://www.morning.ygxf.cn.gov.cn.ygxf.cn