资源简介
东北大学软件学院linux操作系统大实验,包含代码和实验报告
代码片段和文件信息
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define LEFT 0
#define RIGHT (COLS-1)
#define TOP 1
#define BOTTOM (LINES-1-2)
#define WIDE RIGHT-LEFT+1
#define BOARD_LENGTH 10
#define TOTAL 3
char BALL= ‘O‘;
char BLANK= ‘ ‘;
int hdir;
int vdir;
int pos_X ;
int pos_Y;
int p1p2;
int in_win;
int in_lose;
int left_board;
int right_board;
int d_left_board;
int d_right_board;
int is_lose=0;
int is_win=0;
int rsize;
int sock;
int delay=100;
int ndelay;
void moveBall();
struct winsize size;
int listenfd connfd;
int n;
struct sockaddr_in servaddr = {0};
char rbuf[128];
char wbuf[128] = “hello client“;
void control();
void sent_pos();
void lose();
void win();
FILE *fp;
int main(int argcchar **argv)
{
fp=fopen(“res.txt““w“);
ioctl(STDIN_FILENO TIOCGWINSZ &size);
char wbuf[] = “hello server“;
char rbuf[128];
int i;
p1=0;
p2=0;
struct sockaddr_in server = {0};
struct timeval timeo;
char cmd[200];
timeo.tv_sec = 0;
timeo.tv_usec = 1000 * 1000; //
socklen_t len = sizeof(timeo);
if( argc != 2)
{
printf(“usage: ./client \n“);
return -1;
}
sock = socket(AF_INET SOCK_STREAM 0);
if(sock < 0)
{
perror(“Create TCP Socket“);
return -1;
}
setsockopt(sock SOL_SOCKET SO_SNDTIMEO &timeo len);
server.sin_family = AF_INET;
server.sin_port = htons(30000);
inet_pton(AF_INET argv[1] &(server.sin_addr));
int res = connect(sock (struct sockaddr*)&server sizeof(server));
if (res < 0)
{
if(res == EINPROGRESS)
perror(“connecting stream socket time out:“);
else
perror(“connecting stream socket error:“);
close(sock);
return -1;
}
else
{
printf(“Connect Server@%s\n“argv[1]);
//for(i=0;i<100;i++)
//{
strcpy(wbuf“got“);
int wsize = send(sockwbufsizeof(wbuf)0);
if(wsize<=0)
{
perror(“write error:“);
close(sock);
return -1;
}
//printf(“1111111i=%d\n“i);
rsize=recv(sockrbufsizeof(rbuf)0);
if(rsize>0)
{
rbuf[rsize]=‘\0‘;
//printf(“recv msg from server: %s\n“rbuf);
//sprintf(cmd “%s“ rbuf);
//system(cmd);
if (rbuf[0]==‘s‘)
{
initscr();
crmode();
noecho();
control();
endwin();
}
}
if(rsize<0)
{
close(sock);
perror(“read error:“);
return -1;
}
//}
close(sock); fclose(fp);
return 0;
}
}
void init(){
int ij;
in_win=0;
in_lose=0;
clear();
//init ball
pos_X =size.ws_col-(0.5*COLS+1);
pos_Y =size.ws_row-(0.5*size.ws_row+1);
hdir=-1;
vdir=1;
//init board
left_board=0.5*COLS-1-0.5*BOARD_LENGTH;
right_board=left_board+BOARD_LENGTH-1;
for(i=left_board;i<=right_board;i++){
move(BOTTOMi);
addch(‘=‘);
}
d_left_board=0.5*COLS-1-0.5*BOARD_LENGTH;
d_right_board=left_board+BOARD_LENGTH-1;
for(i=d_left_board;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 12212 2015-01-16 17:28 东北大学软院Linux操作系统大实验\client.c
文件 11788 2015-01-16 17:30 东北大学软院Linux操作系统大实验\server.c
文件 186368 2015-07-11 21:08 东北大学软院Linux操作系统大实验\东北大学软件学院Linux操作系统大实验说明文档.doc
- 上一篇:短信敏感词检测工具
- 下一篇:RFID安全加密机制论文
相关资源
- The AWK Programming Language 中文版
- 在linux中使用tcp实现一个简单文件服务
- linux 运维自动监测脚本CPU,内存,磁
- linuxRTP打包发送
- 操作系统实验 华工 Linux
- AODV源代码265362
- 福建农林大学计科linux复习
- 时间片轮转调度算法
- 操作系统课程设计——主存空间的分
- cuda_8.0.61_375.26_linux.run
- 基于linux系统的ftp服务器
- 四川大学操作系统实验课件
- cadence安装方法 linux
- Linux下安装Intel无线网卡
- openssh-8.2.tar.gz
- 操作系统各大公司笔试题汇总.doc
- 操作系统 进程调度时间片轮转银行家
- Linux常用命令全集260354
- smartctl源码
- 操作系统进程管理实验报告
- Linux命令大全完整版.pdf
- Linux ATM取款机简单实现附详细说明-
- 2018年最新全套linux视频教程源码笔记
- 华中科技大学计算机学院操作系统一
- linux使用规范
- 四川大学操作系统实验报告week1
- 操作系统课程设计报告(完成版
- 操作系统win7和winXP纯净版iso镜像文件
- libsigar-amd64-linux.so以及libsigar-x86-linu
- linux哲学家就餐3种方法代码实现
评论
共有 条评论