随笔分类 -  网络编程

摘要:直到客户端检测不到EOF。这个时候需要进程有一种能力。 这个能力:发现一旦一个多个I/O通道(网络,操作系统)就绪。它就会通知进程。 这个能力就是I/O复用! 一般由select 和 poll 这两个函数支持。还有一个函数pselect。 有几个场景需要应用到这个能力: 1 当客户处理 多个描述符。 阅读全文
posted @ 2017-04-08 08:13 天才麻将少年 阅读(335) 评论(0) 推荐(0)
摘要:最近在写的一个传输二进制文件的模块中,在传输图片的过程中老是会出现图片走形,图片残缺的现象! 之前残缺得更严重。但是把代码中的传输数据部分换成了 writen() 和 readn()就好多了。 但是仍然有一小部分的残缺。但是在服务端 写一个while(1)循环执行 readn 并且不跳出。就不会有残 阅读全文
posted @ 2017-03-16 17:14 天才麻将少年 阅读(363) 评论(0) 推荐(0)
摘要:在用C语言完善传输图片模块的时候发现了一个问题! 就是图片的二进制本质,和c语言的IO流局限! 以下两个函数是C 的打开图片文件和读取图片文件的函数! FILE *out=fopen(path,"r"); int c; while((c=fgetc(out))!=EOF)//open /root/p 阅读全文
posted @ 2017-02-25 10:08 天才麻将少年 阅读(2274) 评论(0) 推荐(0)
摘要:客户端代码如下 #include<netdb.h> #include<errno.h> #include<sys/socket.h> #include "apue.h" #define BUFLEN 128 extern int connet_retry(int,int,int, const str 阅读全文
posted @ 2017-02-21 11:44 天才麻将少年 阅读(379) 评论(0) 推荐(0)
摘要:使用两个命令: yum install ftp yum install vsftpd 将这两个包安装起来。 接着就是设置vsftpd 的配置值: 在系统根目录 cd /etc/vsftpd/ ls一下可以看到 vsftpd.conf 配置文件。 vi vsftpd 打开之然后就可以修改了! 1.修改 阅读全文
posted @ 2017-02-20 15:46 天才麻将少年 阅读(202) 评论(0) 推荐(0)
摘要:一个套接字描述符和一个文件描述符很相似 当套接字建立好了以后,可以用read 和 write 函数像操作文件描述符一样操作套接字描述符。 而且还可以用fork函数建立更多的子进程,并且把套接字秒速符传给子进程们进行read write! 除了read,write 以外还有6个特殊的读写函数! 写: 阅读全文
posted @ 2017-02-17 10:52 天才麻将少年 阅读(2854) 评论(0) 推荐(0)
摘要:#include<sys/socket.h> int listen(int sockfd,int backlog); int accept(int sockfd,struct sockaddr *addr,socklen_t len); 还是一个例子: #include "unp.h" #inclu 阅读全文
posted @ 2017-02-17 10:25 天才麻将少年 阅读(419) 评论(0) 推荐(0)
摘要:#include<sys/socket.h> int bind(int sockfd,const struct sockaddr *addr,socklen_t len); 这个函数往往用在服务进程上! 举个例子 #include "unp.h" #include <time.h> int main 阅读全文
posted @ 2017-02-15 12:03 天才麻将少年 阅读(584) 评论(0) 推荐(0)
摘要:先介绍一下如何获取主机名和服务名吧! 用hostname命令可以获取主机名 那如何获取服务名呢? 通过这个命令systemctl list-unit-files 可以获取系统服务 来了解一个服务,nfs服务。 NFS (Network File System) 即网络文件系统。一种使用于分散式文件系 阅读全文
posted @ 2017-02-15 11:08 天才麻将少年 阅读(790) 评论(0) 推荐(0)
摘要:套接字需要捆绑上地址才有用! 识别目标进程要有 1.对方计算机网络地址 IP 2.端口号表现对方计算机的特定进程 字节序故名思义就是字节的顺序的意思。 具体详解可以看这 http://www.ruanyifeng.com/blog/2016/11/byte-order.html 由于网络传输都是指定 阅读全文
posted @ 2017-02-12 17:33 天才麻将少年 阅读(1311) 评论(0) 推荐(0)
摘要:套接字又名socket,是一个接口,进程可以利用该接口和其他进程通信。无论是其他进程在本机上还是在其他机器上。 套接字接口有许多不同的网络协议。包括TCP/IP协议栈! 就如使用文件描述符来访问文件一样。 程序是用套接字描述符来访问套接字。 #include<sys/socket.h> int so 阅读全文
posted @ 2017-02-11 15:10 天才麻将少年 阅读(1111) 评论(0) 推荐(0)
摘要:由于深度学习任务的需要,要在程序里面嵌入一个module。 这个module 的功能是接收来自ios客户端的图片。并且传送给深度学习分类器进行处理。 于是看了看各种各样的 module 实现方案。 先是用IO函数把图片以数组的方式存起来。 再和服务器建立连接,socket传这个数组。 然后服务器接收 阅读全文
posted @ 2017-02-11 11:16 天才麻将少年 阅读(1645) 评论(0) 推荐(0)
摘要:之前租的一个腾讯云的服务器,内存1G,1核送云盘20G,外加1MB带宽做学校任务。 但是做什么任务都很吃紧!粗略的估计是1MB 带宽的服务器500人在线。和日均3200IP的访问量。 当然也有一个公式 支持连接个人 = 服务器带宽/页面尺寸大小 这里的页面尺寸大小可以换成人均流量需求。这样就更加广泛 阅读全文
posted @ 2017-02-11 10:16 天才麻将少年 阅读(171) 评论(0) 推荐(0)
摘要:1 找出你自己的网络拓扑信息 由于为了更好的解决许多难题,所以我们需要知道自己的网络拓扑。大概用两个基本命令来了解自己的网络拓扑! 命令1:netstat 命令2: ifconfig 我用的是一台win10 的笔记本和一个腾讯云centOS 6.3云端服务器。 我在centOS 6.3上运行命令 w 阅读全文
posted @ 2016-11-26 20:02 天才麻将少年 阅读(390) 评论(0) 推荐(0)