您现在的位置是:首页 >技术交流 >Linux - 第14节 - 网络编程套接字(三)网站首页技术交流
Linux - 第14节 - 网络编程套接字(三)
简介Linux - 第14节 - 网络编程套接字(三)
目录
1.Linux远程控制的网络程序
1.1.Linux远程控制的网络程序(普通版)
创建serverTcp.cc文件,写入下图一所示的代码,创建clientTcp.cc文件,写入下图二所示的代码,创建log.hpp文件,写入下图三所示的代码,创建util.hpp文件,写入下图四所示的代码,创建ThreadPool.hpp文件,写入下图五所示的代码,创建Task.hpp文件,写入下图六所示的代码,创建Lock.hpp文件,写入下图七所示的代码,创建Makefile文件,写入下图八所示的代码,使用make命令生成serverTcp和clientTcp可执行程序,创建两个选项卡,一个选项卡使用./udpServer 8081命令运行serverTcp可执行程序,一个选项卡使用./clientTcp 127.0.0.1 8081命令运行clientTcp可执行程序,再创建一个选项卡,使用./clientTcp 127.0.0.1 8081命令运行clientTcp可执行程序,如下图九所示。
serverTcp.cc文件:
#include "util.hpp" #include "Task.hpp" #include "ThreadPool.hpp" #include <signal.h> #include <sys/types.h> #include <sys/wait.h> #include <pthread.h> class ServerTcp; // 申明一下ServerTcp void execCommand(int sock, const std::string &clientIp, uint16_t clientPort) { assert(sock >= 0); assert(!clientIp.empty()); assert(clientPort >= 1024); char command[BUFFER_SIZE]; while (true) { ssize_t s = read(sock, command, sizeof(command) - 1); //我们认为我们读到的都是字符串 if (s > 0) { command[s] = '