简单的项目问题

2019.8.14
问题:
1.客户机和服务器在不同的文件夹里是否可以进行通信?
答:可以,测试过。

2.INET_ADDRSTRLEN表示通信网络协议下的最大长度,32位的ipv4要16字节,128位的ipv6是要46字节(非兼容模式下是40字节),他的头文件<netinet/in.h>

3.ip地址算是字符?

4.STDOUT_FILENO向屏幕输出

8.15
问题
1.无法打开内核设备"\.\Global\vmx86":系统找不到指定的文件. 是否在安装 VMwareWorksation 后重新引到 ? 问题解决
答:系统将虚拟机的部分停掉了,附链接https://blog.csdn.net/u013517122/article/details/87624460

  1. .filename.swap 直接 vim -r filename.c恢复成最近的

3.光标定位:#define MOVETO(x,y) printf(“\033[%d; %dH”, (x), (y)) x:表示纵轴, y表示横轴

4.malloc的头文件是stdlib.h
System的头文件是stdlib.h
Sleep的头文件是unistd.h
8.16
1.对于函数的make 要在scripts加入对应的编译值

2.用getch函数需指定#include <conio.h>, Linux中用不了。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i;
char c;
printf(“Input a char:”);
system(“stty -echo”);
c=getchar();
system(“stty echo”);
i = c -‘0’;
printf(“You have inputed:%d \n”,i);
return 0;
}

3.rc/…/…/include/myhead.h:11:11: error: unknown type name ‘Load’
int regi(Load *)

原因头文件多加了
8.17.2019
1.printf(“m”);deepin中输出不了,因为printf是行缓冲,要加个\n
2.src/…/…/include/myhead.h:11:11: error: unknown type name ‘Load’
int regi(Load *);
^~~~
src/tcp_sever.c: In function ‘main’:
src/tcp_sever.c:84:6: warning: implicit declaration of function ‘regi’ [-Wimplicit-function-declaration]
regi(op); //注册账号
原因:myhead.h里面未对此结构体做类型的定义,引用相关文件就可以了
2.结构体清零
法一
void clear(unsigned char *pta, int size )
{
while(size>0)
{
*pta++ = 0
size --;
}
}
.
clear(( unsigned char *)&tab[0],sizeof(tab));

// 将结构体的起始地址强转,把结构体所占的地址分为若干个BYTE空间,再对各个BYTE空间清0。

法二
Memset(&addr, 0, sizeof(addr))

8.18
无法理解如何给不同的端口号的线程发送信息
解决:没有真正理解套接口的含义,send函数第一个变量是套接口, 每个套接口都是有对应的值的
8.19.2019
1.客户端的结束造成服务器的结束
解决方法:加if(n == 0) { break;}
具体原理不知, 可能是内存占用过多
2.线程分离,自动释放内存
https://blog.csdn.net/weibo1230123/article/details/81410241
3.src/send_all.c:14:21: warning: iteration 10 invokes undefined behavior [-Waggressive-loop-optimizations]
if(c_port.cli_port[i] == op.myport)
错误原因:整数溢出,造成原因可能是数组越界

8.20
客户端想要同时进行读写操作, 一个进程是解绝不了的,使用while只能接或者收,不过有人用while解决了这个问题,但是我没解决,就这样吧
8.21
多个客户端上线, 服务器在每次接或者收的时候都会清空结构体,此时我就没法判断服务器的id
解决方法:专门创建一个函数,在存储ID和端口号的链表里, 通过端口号进行id的找回。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值