Score
0
2 Unstar Star 4 Fork 0

张奇峰 / c_tcp_udpCApache-2.0

Create your Gitee Account
Explore and code with more than 5 million developers,Free private repositories !:)
Sign up
C语言实现的tcp、udp网络通信服务,主要作为下一阶段和go语言搭配使用的技术探索方案. spread retract

Clone or download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.md

C语言 tcp_udp

介绍

c语言 实现的 tcp、udp 网络通信服务器, tcp server 采用 epoll(lt) 模型,实现了多客户端同时连接(最大连接值暂定为8192),收发消息.
也可以作为您了解、学习 sokcet 网络编程的一份完整资料.

我们的目的

基于这份 socket 完整代码, 在 cgo 或其他语言之间进行技术探索,将自己掌握的技术融汇贯通,让不同语言都为我所用!
未来, 我们还将实现 MQTT协议 ,所有偏硬件的协议全部采用 c语言 实现, 最终编译为 linux so 库 ,供 go 或其他语言调用.

使用说明

1.本套代码仅在 linux 经过了测试、编译、运行, windows 未做任何测试.
2.客户端您可以在网上下载一款现成的网络工具进行测试,例如:https://wwa.lanzous.com/ik0g8gwirqj , 该工具支持 tcp 、 udp(但是udp只支持发消息,不支持收消息).
提醒:由于很多 window 端的网络测试工具发送的中文是 ansi(gbk系列) 编码, 本服务端目前只能处理 gbk系列和 utf-8 编码,其他编码中奇怪的字符无法支持.

文件清单

截图已经包括了源文件以及编译后的文件,编译部分将在后续介绍.
文件清单

TCP 服务端编译

// tcp 服务默认在 9505 端口提供服务, 请自行将 9505 端口在防火墙放行  
firewall-cmd --zone=public --add-port=9505/tcp --permanent
firewall-cmd --complete-reload

//编译 tcpserver 
gcc  -o   tcp_server   ./tcp_server.c   ./libs/functions.c   ./errors.c
//启动
./tcpserver

//编译 tcpclient 
gcc  -o   tcpclient   ./tcp_client.c 
//启动
./tcpclient

使用tcpserver和tcpclient测试
使用tcpserver和tcpclient测试

使用第三方 网络工具测试
tcp测试2

UDP 服务端编译

// udp 服务默认在 9506 端口提供服务, 请自行将 9506 端口在防火墙放行,注意,这里的防火墙端口协议是 udp, 不要写错了,否则无法收发消息  
firewall-cmd --zone=public --add-port=9506/udp --permanent
firewall-cmd --complete-reload

//编译 udpserver 
gcc  -o   udp_server   ./udp_server.c   ./libs/functions.c   ./errors.c
//启动
./udpserver

//编译 udpclient 
gcc  -o   udpclient ./udp_client.c
./udpclient

使用 udpserver 和 udpclient 测试
使用udpserver和udpclient测试

使用第三方 网络工具测试
udp测试2

Comments ( 0 )

Sign in for post a comment

C
1
https://gitee.com/daitougege/c_tcp_udp.git
git@gitee.com:daitougege/c_tcp_udp.git
daitougege
c_tcp_udp
c_tcp_udp
master

Search

190622 32b11934 1899542 190632 884178f9 1899542