网络编程
文章平均质量分 68
新西兰做的饭
Here we go!
展开
-
C++实现TCP服务器端利用Select模型同时和多个客户端通信
服务器端利用Select模型通信服务器端客户端运行实例服务器端利用Select模型通信Select模型解决传统C/S模型中accpet阻塞等待客户端链接的问题,但其只解决accpet阻塞的问题,不解决send()、recv()执行阻塞的问题。服务器端#include <WinSock2.h>#include <WS2tcpip.h>#include <iostream>using namespace std;#pragma comment(lib, "ws原创 2021-05-28 20:16:04 · 1114 阅读 · 3 评论 -
C++实现TCP服务器端非阻塞方式同时和多个客户端通信
非阻塞方式网络通讯服务器端客户端运行实例笔记记录:2021-5-21 本来要出一篇非阻塞但是最后调试还是出现问题,原因是非阻塞方式和recv和send的处理与阻塞方式不同,每次输入end都是异常结束还有vector迭代器的问题,可能是个综合的问题1.在原有for循环上利用wwq编写的异常处理再试2.使用wwq的while循环再试通讯建立后首先由服务器端发送消息,客户端接收消息;接着客户端发送消息,服务器端接收消息,实现交互发送消息。服务器同时可以和多个客户端建立连接,进行交互;在某次交互中,原创 2021-05-24 08:41:04 · 3452 阅读 · 11 评论 -
C++实现TCP服务器端同时和多个客户端通信(多线程)
多线程网络通讯服务器端客户端运行实例通讯建立后首先由服务器端发送消息,客户端接收消息;接着客户端发送消息,服务器端接收消息,实现交互发送消息。服务器同时可以和多个客户端建立连接,进行交互;在某次交互中,服务器端或某客户端有一方发送"end"即终止服务器与其的通信;服务器还可以继续接收其他客户端的请求,与其他客户端通信。服务器端#include <WinSock2.h>#include <WS2tcpip.h>#include <iostream>using原创 2021-05-12 17:02:00 · 14317 阅读 · 26 评论 -
C++ 实现TCP服务器端和客户端交互发送消息
简单网络通信服务器端客户端运行实例通讯建立后首先由服务器端发送消息,客户端接收消息;接着客户端发送消息,服务器端接收消息,实现交互发送消息。服务器端或客户端有一方发送"end"即终止通信。服务器端#include<iostream>#include<winsock2.h>#define PORT 65432 //定义端口号常量#pragma comment(lib,"ws2_32.lib")using namespace std;int main(){ SOC原创 2021-04-11 21:43:33 · 3411 阅读 · 0 评论 -
获得本机的主机名及所有IPv4、IPv6地址
所用函数gethostname()getaddrinfo( )1.查询本机的主机名称及IP地址,并从键盘输入某网站的域名解析其IP地址。gethostname()该函数用来查询本地计算机主机名字。函数原型int gethostname(char *name, int namelen)函数参数Name:指向用于存放主机名字的缓冲区,就是一字符数组。Namelen:是缓冲区的大小,也就是字符数组name的大小。返回值函数调用成功则返回0。函数调用失败,则返回SOCKET_ERROR,进一步原创 2021-04-01 20:23:08 · 682 阅读 · 0 评论 -
利用函数进行ip地址转换
inet_addr、inet_ntoa、inet_pton、inet_ntop用法inet_addr():inet_ntoa():inet_pton():inet_ntop():运行实例1.分别利用函数 inet_addr、inet_pton ,将“字符串”192.168.12.13“转化位4字节整型数。分别利用函数 inet_ntoa 、inet_ntop,将上面转换后的4字节整型数转换位字符串并输出。inet_addr():函数原型:unsigned long inet_addr (const原创 2021-03-31 21:08:49 · 794 阅读 · 0 评论