2.6 网络编程
socket 及网络原理知识
哲学的天空
这个作者很懒,什么都没留下…
展开
-
C++ 实现简单Tcp服务器端 -- Select方式 (包含客户端)
使用C++基于windows平台下实现Tcp聊天服务器端,Select方式main.cpp#include <WinSock2.h>#include <WS2tcpip.h>#include <iostream>using namespace std;#pragma comment(lib, "Ws2_32.lib")int main() { //初始化winsock的环境 WSADATA wd; if(WSAStartup(MAKE原创 2020-06-10 15:41:17 · 1567 阅读 · 0 评论 -
C++ 实现简单Tcp服务器端 -- 多线程方式(包含客户端)
一个简单的聊天服务器端程序,多线程设计,针对多客户端。windows平台服务器:#include <WinSock2.h>#include <WS2tcpip.h>#include <iostream>using namespace std;#pragma comment(lib, "ws2_32.lib")//一个简单的聊天程序 针对多客户端//stdcall 的线程处理函数DWORD WINAPI ThreadFun(LPVOID lpTh原创 2020-06-10 15:38:32 · 2792 阅读 · 0 评论 -
C++ 实现简单Tcp服务器端 Ipv6
使用C++基于windows平台下实现Tcp服务器端,Ipv6方式main.cpp#include <winsock2.h>//winsock的头文件#include <ws2tcpip.h>//sockaddr_in6的头文件#include <iostream>using namespace std;//指定动态库的lib文件#pragma comment(lib,"ws2_32.lib")//TCP服务端IPv6版int main() {原创 2020-06-10 15:34:47 · 1397 阅读 · 0 评论 -
C++ 实现简单Tcp客户端 Ipv6
使用C++基于windows平台下实现Tcp客户端请求,Ipv6方式main.cpp#include <winsock2.h>//winsock的头文件#include <ws2tcpip.h>//sockaddr_in6的头文件#include <iostream>using namespace std;//指定动态库的lib文件#pragma comment(lib,"ws2_32.lib")//TCP客户端int main() {原创 2020-06-10 15:31:59 · 929 阅读 · 0 评论 -
C++ 实现简单Tcp服务器端
使用C++基于windows平台下实现Tcp服务器端main.cpp#include <WinSock2.h>#include <WS2tcpip.h>#include <iostream>using namespace std;#pragma comment(lib, "ws2_32.lib")int main() { //初始化winsock2.2相关的动态库 WSADATA wd; // 获取socket相关信息 if(0 != WS原创 2020-06-10 15:30:29 · 1690 阅读 · 0 评论 -
C++ 实现简单Tcp客户端
使用C++基于windows平台下实现Tcp客户端请求main.cpp#include <winsock2.h>#include <WS2tcpip.h>#include <iostream>using namespace std;//指定动态库的lib文件#pragma comment(lib,"ws2_32.lib")int main() { //初始化winsock2.2相关的动态库 WSADATA wd; //获取socket相关信息原创 2020-06-10 15:27:25 · 2397 阅读 · 0 评论 -
C++ 实现简单Udp服务器
使用C++基于windows平台下实现Udp服务器main.cpp#include <winsock2.h>#include <WS2tcpip.h>#include <iostream>using namespace std;//添加动态库的lib#pragma comment(lib, "ws2_32.lib")//UDP服务端int main() { //初始化winsock2环境 WSADATA wd; if(WSAStart原创 2020-06-10 15:14:07 · 2498 阅读 · 0 评论 -
C++ 实现简单Udp客户端
使用C++基于windows平台下实现Udp客户端请求main.cpp#include <winsock2.h>#include <WS2tcpip.h>#include <iostream>using namespace std;//添加动态库的lib#pragma comment(lib, "ws2_32.lib")//UDP客户端int main() { //初始化winsock2环境 WSADATA wd; if(WSASta原创 2020-06-10 15:12:54 · 1760 阅读 · 1 评论 -
C++ 实现简单Http客户端--使用 curl网络库
借助curl网络库实现Http客户端,一种get请求,一种post请求。//get请求#include <stdio.h>#include <stdlib.h>#include <curl.h>/** ptr 表示收到服务器返回数据的首地址* size 表示返回每个数据的大小* nmemb 表示返回数据的个数* userdata 用户给该回调函数传递的形参 curl_easy_setopt(curl, CURLOPT_WRI原创 2020-06-10 15:10:17 · 1618 阅读 · 0 评论 -
C++ 实现简单Http服务器
实现一个简单的Http服务器,基于windows 平台。 总共五个文件 : HttpServer.hpp、HttpServer.cpp、Utils.hpp、Utils.cpp、main.cppUtils.hpp#include <vector>#include <string>#include <iostream>using namespace std;void splitStr(const string& s, vector<string原创 2020-06-10 15:02:06 · 3973 阅读 · 0 评论 -
C++ 实现简单Http客户端
实现一个简单的Http 客户端,基于windows 平台。总共三个文件 : HttpClient.hpp、HttpClient.cpp、main.cppHttpClient.hpp#include <WinSock2.h>#include <WS2tcpip.h>#include <iostream>using namespace std;#pragma comment(lib, "ws2_32.lib")class HttpClient {原创 2020-06-10 14:57:56 · 4213 阅读 · 1 评论 -
C# 网络编程心跳机制
1.心跳机制概念: 由于网络阻塞,服务器宕机,停电,等等不确定因素,会导致socket无效,那么就需要一种方式检测socket是否正常连接,通常使用客户端和服务器端间隔固定一段时间发送一次数据,对方收到并回应,就表明socket正常,这种方式叫心跳机制。2.心跳包的实现思路: 客户端连接上服务端后,在服务端会维护一个在线客户端列表。客户端每隔一段时间,向服...转载 2020-03-17 21:13:56 · 2450 阅读 · 0 评论 -
C# 网络传输消息队列
1. 消息队列概念: 用于存储网络发送过来的消息,因为接受数据是单独的线程,所以需要把数据存储到队列中,主线程从队列中循环取出数据,根据数据意义执行不同任务。根据后进后出原则,选择Queue数据结构。2. 队列1 : 使用locker 实现。 //队列 用于存储网络传过来的消息 public class MessageControl { ...原创 2020-03-17 21:04:03 · 594 阅读 · 0 评论 -
C# socket和多线程开发
//创建监听void startListing() { try{ //创建一个负责监听的socket Socket socketWatch = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); IPAddress ip = "192.168.1.2";// IPAddres...原创 2020-03-16 14:39:52 · 1328 阅读 · 0 评论 -
curl 命令行工具使用
cURL是一个利用URL语法在命令行下工作的文件传输工具。 curl 在linux、mac系统中是自带的,windows中推荐使用下载 安装 git for windows,其中附带了curl工具,安装后点击Git Bash,比如输入下面可以下载百度页面。curl www.baidu.com下面命令可以下载页面到 1.txt 文件中:curl ...原创 2020-03-09 17:47:53 · 1434 阅读 · 1 评论 -
C# 开发一个简单的Http服务器及客户端
代码来自网络,有部分修改Http 服务器端:/* * * C#实现了一个最简单的HTTP服务器类,你可以将它嵌入到自己的项目中,或者也可以阅读代码来学习关于HTTP协议的知识。 * 高性能的WEB应用一般都架设在强大的WEB服务器上,例如IIS, Apache, 和Tomcat。然而,HTML是非常灵活的UI标记语言, * 也就是说任何应用和后端服务都可以提供HTML的生成支...原创 2020-03-09 17:16:41 · 10357 阅读 · 4 评论 -
网络基础1:IP地址即子网划分
1>:IP地址:是给每个连接在Internet上的主机分配的一个32bit地址。地址有两部分组成,一部分为网络地址,另一部分为主机地址。IP地址分为A、B、C、D、E 5类。常用的是B和C两类。网络地址的位数直接决定了可以分配的网络数;主机地址的位数则决定了网络中最大的主机数。//5类地址A类地址: 网络位8(7)位+主机位24位,0******* ******* ******* *****...原创 2018-04-03 17:49:01 · 653 阅读 · 0 评论 -
数据库
一个数据库 由n个表组成 表有 n 个字段(主键 等等) 横向 水平 n 个记录 纵向 垂直原创 2018-04-06 20:02:52 · 160 阅读 · 0 评论 -
Windows网络编程
进行Windows网络编程,你需要在你的程序中包含WINSOCK2.H或MSWSOCK.H,同时你需要添加引入库WS2_32. LIB或WSOCK32.LIB。//----------------------------Socket编程有阻塞和非阻塞两种,在操作系统I/O实现时又有几种模型,包括Select,WSAAsyncSelect,WSAEventSelect ,IO重叠模型,完成端口等。/...原创 2018-04-25 15:43:00 · 809 阅读 · 0 评论 -
libcurl API介绍及简单编程
1>: curl_global_init();//全局初始化函数应用程序在使用libcurl之前,必须先初始化libcurl。libcurl只需初始化一次。可以使用以下语句进行初始化:curl_global_init();curl_global_init()接收一个参数(三种),告诉libcurl如何初始化。参数CURL_GLOBAL_ALL:会使libcurl初始化所有的子模块和一些默...原创 2018-04-25 15:43:40 · 854 阅读 · 0 评论 -
WinSocket 函数总结 及 常用函数精析
一,函数根据功能的不同可以分为如下几类: (1) 套接字函数:此类函数包括socket(),bind(),getpeername(),getsockname()和closesocket(),它们主要完成创建,关闭套接字功能,以及对套接字命名与名字获取。 (2) 网络连接函数:此类函数包括listen(),accept(),connect()和shutdown(),它们完成网...原创 2018-04-25 15:43:28 · 1473 阅读 · 0 评论 -
在VS2010中配置 cURL
1下载win32下的cURL库可以在网上下载windows cURL库 不同版本对应的 libcurl.dll不同。这里我们使用cocos2d-x 自带的windows cURL库 文件分别为cocos2d-2.1rc0-x-2.1.3\Debug.win32下: libcurl.dll。cocos2d-2.1rc0-x-2.1.3\Debug.win32下: libcurl_imp.lib。c...原创 2018-04-29 23:07:35 · 594 阅读 · 0 评论 -
C# 使用Socket开发一个简单服务器及客户端
客户端:ClientControl.csusing System;using System.Collections.Generic;using System.Linq;using System.Net.Sockets;using System.Text;using System.Threading;using System.Threading.Tasks;namespac...原创 2019-06-05 22:24:45 · 363 阅读 · 0 评论