Skip to content

lostprobe99/socketlab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

socketlab

介绍

socket编程相关

changelog:

  • 2024-9-1 ~ 2024-11-10

    1. 修复systemf中的错误
    2. 添加一个时间戳获取函数timestamp
    3. 添加 hexdump, hexdump1reverse32 函数
    4. 添加 get_itf_mac, get_itf_ip4get_itf_subnet_mask 函数
    5. 添加 arping 函数
    6. 添加 arping demo
    7. 添加 set_broadcast 函数
    8. 添加 broadcast 的demo
    9. 添加 popen demo
    10. 删除 buffer_t
  • 2024-9-1

    1. 添加获取网络接口的示例src/get_itfs
  • 2024-7-7

    1. 添加守护进程示例src/daemon.c
  • 2024-2-18

    1. 添加TcpSocket实现的多线程echo服务端src/tcpsocket-server.cpp
  • 2024-2-16

    1. 添加udp实现的echo客户端src/uecho-client.c和服务器src/uecho-server.c
    2. 为debug宏FATALWARN添加换行
  • 2024-2-14

    1. util中增加systemf函数
    2. 修改Socket类,将Socket作为基类,添加子类TcpSocket
  • 2024-1-20

    1. InetAddr添加了一个af函数
    2. 修改了InetAddr::addr函数中inet_addr的使用错误
  • 2024-1-7

    1. 移除Socket的拷贝构造函数和拷贝赋值函数,添加移动构造函数和移动赋值函数
    2. Socket的socket关闭操作拆分为单独的函数
  • 2024-1-7

    1. 调整目录结构,将SocketInetAddr拆分到lib/simplesocket
  • 2023-6-19

    1. Socket添加一个shared_ptr作为引用计数来控制复制和析构
    2. 使用SocketInetAddr实现一个回声服务器src/obj-echo-server.c
  • 2023-6-17 增加一个epoll实现的回声服务器src/epoll-echo-server.c

  • 2023-6-16

    1. 增加了一个EXPECT
    2. 增加了一个round_two,用于取大于 n 的最小 2 的幂
    3. 增加了一个buffer_make_s,用于通过字符串创建buffer
    4. 增加了一个filenofdopen的示例
  • 2023-6-15 将根目录的CMakeLists.txt拆分为子目录

  • 2023-6-15 添加changelog

  • 2023-6-7 添加一个writev函数的示例src/writev.c

  • 2023-6-4

    1. 添加select监听stdin的示例
    2. 添加select实现的回声服务器src/select-echo-server.c
    3. common.h中添加一个宏AUTOFREE,可自动释放malloc内存,依赖于GNUC的attribute cleanup特性
    4. CMakeLists.txt中定义操作系统宏和编译器宏
    5. 添加一个buffer结构体
  • 2023-6-2 整理目录结构

  • 2023-3-21

    1. 封装socket为类,未测试
    2. 添加标准库中的thread库的示例test/test_thread.c
  • 2023-2-20 修复commonserver中的错误

  • 2023-2-12

    1. common中封装了服务端函数server,客户端函数c_connect,判断tcp连接的函数tcp_connected,获取tcp信息的函数get_tcp_info
    2. common.h中添加了doxygen格式的注释
    3. 添加了src/mp-cs.c,fork出两个子线程作为服务端和客户端
  • 2023-2-2

    1. include/common.cmake_sockaddr中添加域名解析,并且当地址为空时使用INADDR_ANY
    2. 将文件传输程序服务端改为多线程
  • 2023-1-29

    1. 在文件传输程序的get中添加目标文件的访问检查,使当文件不可读时返回错误信息
    2. 实现put并通过md5校验
  • 2023-1-28 修复文件传输程序的get,md5校验成功

  • 2023-1-25 实现文件传输程序的cdget

  • 2023-1-24

    1. 实现了一个简易的shell include/minish.h, include/minish.c, 需要posix readline库
    2. 基于minish实现了一个新的文件传输程序src/ft/*,实现了ls, help, pwd, open命令
  • 2023-1-21

    1. 分别为win和linux重新定义socket相关类型
    2. common.h中添加了创建socket的函数make_socket和创建sockaddr_in的函数make_sockaddr
    3. 添加include/debug.h
  • 2022-4-12 添加多进程的回声服务器src/mp-echo-server.c

  • 2022-3-10

    1. 添加回声服务器和客户端src/echo-client.c, src/echo-server.c
    2. 添加四则运算程序src/op-client.c, src/op-server.c
    3. 添加信号处理示例src/signal.c
  • 2022-3-1

    1. 添加一个使用getsockopt获取socket类型的示例src/sock-type.c
    2. 添加一个使用getsockopt获取socket缓冲区大小的示例src/get-buf.c
  • 2022-2-25及以前

    1. 添加一个简易的文件传输程序src/ft-client.c, src/ft-server.c
    2. 添加一个公用头文件include/common.h

About

socket 编程记录

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published