基于linux用C语言编写的局域网通信软件(在ubuntu上正常运行)
/************************************************************
去年学C语言socket通信时花三天时间写的。
功能
A,私聊 B,群聊,C,从服务器下载文件 D,上传文件到服务器,E,用户上下线通知,F,刷新在线用户列表,E,下线
1,一般情况请使用SUDO权限运行
2,服务器文件中心路径为 /home/file_centre,若没有该文件夹,请创建
3,客户端下载到的文件保存路径为 /home/file_download使用该功能前,请先创建该文件夹
4,请在linux环境下测试运行(我使用的是ubuntu)
*****************************************************************/
//程序测试截图
说明:一共是三个文件:头文件,服务器代码,客户端代码。
/*服务器接收消息后,创建的在线用户列表*/
struct user_info{
char user_name[20];
int id;
struct sockaddr_in cli_addr;
struct user_info *next;
};
/*客户端给服务器发送的消息*/
struct msg {
char type;
char self_name[20];
char dst_name[20];
char data[MAXSIZE];
};
/*消息类型定义*/
enum msg_type{
LOG_IN = 1, //登录
REFRESH, //要求刷新用户在线用户(重新打印在线用户)
CHAT_PRI, //私聊消息
CHAT_ALL, //群聊消息
DOWNLOAD, //从服务器下载文件(下载之前先打印文件列表)
UPLOAD, //上传文件到服务器
OFFLINE, //下线通知
OVER, //服务器发送本次消息结束
ERROR, //重复登录
FILE_NAME, //发送文件列表
FILE_ERROR //选择文件名失败
};
基于linux用C语言编写的局域网通信软件(在ubuntu上正常运行)相关推荐
- 软件工程-c语言--基于at89c51单片机c语言编写的计算器,基于AT89C1单片机C语言编写的计算器.doc...
基于AT89C1单片机C语言编写的计算器 #include #define uint unsigned int #define uchar unsigned char sbit dula=P2^6; ...
- linux中用c语言编写一个经纬度转换大地坐标
在Linux中用C语言编写一个经纬度转换大地坐标的程序,需要用到以下步骤: 包含相关的头文件,例如"math.h". 定义必要的常量和变量. 输入经纬度坐标. 将经纬度转换为弧度. ...
- 基于linux的c语言版本的俄罗斯方块
基于linux的c语言版本的俄罗斯方块 文章目录 基于linux的c语言版本的俄罗斯方块 前言 一.前期准备 二.使用步骤 1.创建俄罗斯方块DATA库 2.函数声明 3.创建时钟定时器 4.游戏区域 ...
- 基于Windows10基于Linux的C语言笔记Ⅱ
WHAT YOU NEED: 安装 WSL 1 的 Win 10 或是 Linux: GNU 的 C/C++ 编译器(gcc): vim/vi.nano等编辑器. (或者你有一个自己熟悉的系统与IDE ...
- 【C++FunCode】基于Funcode使用C++语言编写小游戏(小鲨鱼历险记)
一.前言 大一暑假参加了山东省软件设计大赛,基于FunCode平台使用C++语言编写了大鱼吃小鱼游戏,其美名曰小鲨鱼历险记,哈哈.比赛成绩惨烈,只拿了一个省三,赛后也进行了分析总结,主要还是太不重视比 ...
- linux系统c 如何使用教程,基于Linux操作系统的C语言编译和调试方法解析
摘 要:文章先介绍了GCC编译器相关内容,包括GCC编译程序和GCC编译选项,随后介绍了GDB调试程序相关内容,包括GDB具体操作和GDB基础命令,最后介绍了C语言编写中的注意事项,希望能给相关人士提 ...
- 黑白棋代码Linux程序,C语言编写的黑白棋游戏源代码.doc
PAGE PAGE 1 C语言编写的黑白棋游戏源代码 /*3.3.4 源程序*/ #include "graphics.h" /*图形系统头文件*/ #define LEFT 0x ...
- 基于Windows10基于Linux的C语言笔记Ⅰ
这玩意儿就是自己的学习笔记,不过,也可以用来入门学习C语言.However,你需要: 学习C语言兴致, Windows10(或者你有一台Linux系统的电脑), 会用vim/vi.nano或者(其实会 ...
- 基于Linux用C语言实现TCP半双工通信和UDP半双工通信
文章目录 TCP协议/UDP协议介绍 三种通信方式 实现TCP半双工通信 所用到的结构体与函数 源代码 运行结果 实现UDP半双工通信 源代码 运行结果 参考文章 TCP协议/UDP协议介绍 TCP/ ...
最新文章
- linux sersync2 ssh start=true,rsync+nfs+sersync实战案例
- C++ 调试技术:addr2line
- H3C路由器的备份与还原(1)
- pre使页面正确显示文本格式
- go语言学习(2)rune以及strings
- 答TOGAF企业架构的一些问题
- 浓缩版java8新特性
- svgsprite的svg-sprite-loader在vue中的使用及vue-cli如何配置
- TypeScript 的变量定义
- Service Worker 的一个实战例子
- mysql使用字符函数length,获取参数值的字节个数
- 模板:广义二项式反演/广义容斥(组合数学)
- 工作随想---关于业务流程,落实责任制
- 深度剖析Java数据结构之队列(一)——双端队列(ArrayDeque)
- jQuery特效:实现抽奖
- https://www.bejson.com/devtools/properties2yaml/
- springboot写发送邮件报错Field javaMailSender in com.gzh.service.impl.IMailServiceImpl
- Linux stress命令详解
- TestNG教程二:testNG常用测试类型
- Openwrt如何添加SD_Card?看这里