C++socket网络编程大全实战http服务器课程介绍:
本课程会同时演示在linux和windows中的编程,课程中的线程和正则表达式都使用c++提供库。 课程讲解理论与实践相结合,实践以代码延时讲解为主,本课程包含了socket编程常用的所有特性,包括tcp、udp协议的基础编程,广播包,超时连接,多路复用,高并发的epoll多路复用,多线程的服务端。课程实战项目包含完整的支持php的http服务器*(TCP),接收并分析linux系统日志的xsyslog项目(UDP)。 课程相当于包含了:linux网络编程和windows网络编程
课程目录:
01. 1.1课程介绍(1节) 02. 1.2TCPIP协议讲解(1节) 03. 1.3网络包抓包分析(1节) 04. windows和Linux系统之间配置共享(1节) 05. 2.1系统socket库介绍(1节) 06. 2.2windows上加载socket库(1节) 07. 2.3在windows平台创建socket(2节) 08. 2.4移植到Linux并设置创建socket的最大数量(2节) 09. 3.1TCP协议特点讲解(1节) 10. 3.2TCP协议头和窗口分析(1节) 11. 3.3创建TCPServer设置服务器信息并讲解网络字节(1节) 12. 3.4bind端口(1节) 13. 3.5listen开始监听设置连接缓冲数并测试(1节) 14. 3.6accept读取用户的连接信息(1节) 15. 3.7取出连接客户端IP地址和端口号(1节) 16. 3.8服务端recv客户端发送数据(1节) 17. 3.9服务端循环接收客户端数据(1节) 18. 3.10服务端回应send客户端数据(1节) 19. 3.11Tcpserver开启多线程并发处理(1节) 20. 3.12Tcpserver移植到windows(1节) 21. 4.1创建XTcp类接口(1节) 22. 4.2封装跨平台accpet和close接口(1节) 23. 4.3封装跨平台send和recv接口(1节) 24. 4.4封装socket和bind接口(1节) 25. 4.5XTcp类在windows中测试(1节) 26. 4.6XTcp类在Linux中的测试(2节) 27. 4.7创建XTcp动态dll链接库项目(1节) 28. 4.8测试XTcp的dll动态链接库(1节) 29. 4.9创建XTcp动态so链接库项目(1节) 30. 4.10测试XTcp的so动态链接库(2节) 31. 5.1创建tcpclient项目(1节) 32. 5.2tcp三次握手协议详(1节) 33. 5.3完成XTcp库connect函数封装(1节) 34. 5.4移植到Linux并测试与服务端通信(2节) 35. 5.5tcp编程总结(1节) 36. 6.1Windows中设置socket阻塞和非阻塞(1节) 37. 6.2Linux中设置socket阻塞和非阻塞(1节) 38. 6.3通过select实现connect的跨平台超时处理(2节) 39. 6.4并发测试工具ab使用讲解(1节) 40. 6.5epoll高并发多路复用讲解(1节) 41. 6.6通过epoll接收用户连接(2节) 42. 6.7基于epoll的高性能服务端开发和高并发测试(1节) 43. 7.1http协议详解通过抓包和telnet模拟分析(1节) 44. 7.2Xhttp项目创建接受浏览器请求(1节) 45. 7.3响应浏览器的页面请求(1节) 46. 7.4通过正则表达式分析浏览器请求(1节) 47. 7.5获取请求文件大小并生成http协议头(1节) 48. 7.6发送用户请求的页面和图片(1节) 49. 7.7完成http1.1协议并移植到windows(2节) 50. 7.8通过正则表达式获取请求页面文件后缀php(1节) 51. 7.9调用php-cgi完成php脚本解析(1节) 52. 7.10完成php脚本解析并返回给浏览器(2节) 53. 7.11支持给php传递基于URLGET变量(2节) 54. 7.12封装XhttpServer对外接口类(1节) 55. 7.13封装XHttpClient处理单个请求的接口类(1节) 56. 7.14封装http协议响应类XHttpResponse(1节) 57. 7.15完成Xhttp封装移植到linux解决中断问题(2节) 58. 8.1UDP协议讲解(1节) 59. 8.2创建UDPserver监听端口(1节) 60. 8.3recvfrom接受客户端数据(1节) 61. 8.4 sendto客户端和服务端互相发送数据(1节) 62. 8.5UDPclient和Server移植到linux(2节) 63. 8.6UDP广播包发送接收(2节) 64. 9.1syslog项目介绍linux系统日志配置(1节) 65. 9.2创建xsyslog在动态库中封装udp类(1节) 66. 9.3封装UDP的recv和send(1节) 67. 9.4使用UDP接收Linux日志(1节) 68. 9.5使用正则表达式分析syslog日志并告警用户(2节)