资源简介
带gcc工具的linux平台编译。

代码片段和文件信息
/**
@file client.c
@author haohaibo
@date 2017/7/11
@brief 员工管理系统
运行时要加入对于server端的ip地址和端口号,例如./client 127.0.0.1 9999
*/
#include “freamwork.h“
static int status=0; //运行状态
static char user[N_SIZE]={0}; //当前用户名
static int current_no = 0; //当前用户ID
int main(int argcconst char *argv[])
{
int sockfd = -1;
int cho_num = 0;
MSG *msg = NULL;
msg = (MSG*)malloc(sizeof(MSG));
struct sockaddr_in serveraddr;
socklen_t addrlen = sizeof(struct sockaddr);
char buf[M_SIZE] = {0};
status=RUN_1;
#if 1
if(argc < 3)
{
printf(“argument is too few\n“);
exit(1);
}
//第一步:创建一个套接字
if((sockfd = socket(AF_INET SOCK_STREAM 0)) < 0)
{
errlog(“fail to socket“);
}
//第二步:填充服务器网络信息结构体
//inet_addr:将点分十进制IP地址转化为网络识别的
//htons:将主机字节序转化为网络字节序
//atoi:将数字型字符串转化为整型数据
serveraddr.sin_family = AF_INET;
serveraddr.sin_addr.s_addr = inet_addr(argv[1]);
serveraddr.sin_port = htons(atoi(argv[2]));
//第三步:发送客户端的连接请求
if(connect(sockfd (struct sockaddr *)&serveraddr addrlen) < 0)
{
errlog(“fail to connect“);
}
//setsockopt(sockfdIPROTO_TCPTCP_NODELAY&enablesizeof(enable));
#endif
#if 1
while(1)
{
while((status==RUN_1))
{
//REMLINE;
fflush(stdin);
/******************************/
my_printf(“1.login 2.quit “);
printf(“input your choice: “);
scanf(“%d“&cho_num);
REMLINE;
switch(cho_num)
{
case 1:
do_login(sockfdmsg);break;
case 2:
do_quit(sockfdmsg);break;
default:
puts(“input errorplease try again“);
break;
}
}
while((status==RUN_2))
{
//REMLINE;
fflush(stdin); /******************************/
my_printf(“1.add 2.delete 3.modify 4.select 5.quit“);
printf(“input your choice:“);
scanf(“%d“&cho_num);
REMLINE;
switch(cho_num)
{
case 1:
do_add(sockfdmsg);break;
case 2:
do_delect(sockfdmsg);break;
case 3:
do_modify(sockfdmsg);break;
case 4:
do_select(sockfdmsg);break;
case 5:
do_quit(sockfdmsg);break;
default:
puts(“input errorplease try again:“);
break;
}
}
while((status==RUN_3))
{
//REMLINE;
fflush(stdin); /******************************/
my_printf(“1.modify 2.select 3.quit“);
printf(“input your choice:“);
scanf(“%d“&cho_num);
REMLINE;
switch(cho_num)
{
case 1:
do_modify(sockfdmsg);break;
case 2:
do_select(sockfdmsg);break;
case 3:
do_quit(sockfdmsg);break;
default:
puts(“input errorplease try again:“);
break;
}
}
}
close(sockfd);
return 0;
}
#endif
void my_printf(const char *str)
{
puts(“******************************“);
puts(str);
puts(“******************************“);
}
/**申请登录*/
int do_login(int sockfdMSG *msg)
{
//msg=(MSG *)malloc(M_SIZE);
char name[N_SIZE];
char passwd[N_SIZE];
printf(“please input name: “);
scanf(
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 7269 2017-07-12 11:46 test\1\a.out
文件 8389 2017-07-12 18:51 test\1\client.c
文件 2293 2017-07-12 11:33 test\1\freamwork.h
文件 114 2017-07-12 10:14 test\1\Makefile
文件 9702 2017-07-12 11:55 test\1\server.c
目录 0 2017-07-12 20:13 test\1
目录 0 2017-07-12 13:10 test
----------- --------- ---------- ----- ----
27767 7
- 上一篇:色彩改进型Retinex彩色图像增强方法
- 下一篇:U盘克隆工具
相关资源
- MP3文件ID3v2ID3v2APEv2标签读取
- 课程作业:模拟仓库管理系统
- 一个简单实用个人日记管理系统
- 带时间温度显示的室内灯光控制系统
- 成绩管理系统(数据结构)
- FIR低通滤波器 ccs运行环境
- C malloc函数用法
- 嵌入式局域网聊天系统客户端
- 算法竞赛入门经典 第2版刘汝佳+高清
- 基于单片机的GPS定位及显示系统设计
- 链表实现通讯录管理系统
- PowerShell-6.2.1-win-x86.zip
- pl/0编译器 语法分析
- 源程序阅读与调试课程设计报告--学生
- 谁说程序员不浪漫?!基于easyX图形库
- 编译原理课设c编译器
- MCP3421 STM32 Driver
- ADS1100 STM32 Driver
- 单片机89c52与MLX90614红外的测温程序
- stm32f103AES加密 cbc模式
- 单片机 点阵 字模提取软件
- C高级编程讲义-传智播客
- NOIP必学内容之前缀和与差分颜鸿宇
- Skyline高效检索算法实现.zip
- STM8S103系列IO模拟串口通信实现真正串
- stm32f103c8t6移植uC/OS-III基于HAL库的工程
- 温度、一氧化碳、二氧化碳、PM2.5以及
- 王道论坛计算机考研机试指南
- 有限元中网格剖分算法
- PLC开源资料
评论
共有 条评论