- 博客(16)
- 资源 (1)
- 收藏
- 关注
原创 linux网络编程(10)fcntl函数实现IO多路转换
前面介绍的函数如recv、send、read和write等函数都是阻塞性函数,若资源没有准备好,则调用函数的进程进入阻塞状态,使用fcntl函数可以实现IO的非阻塞,也就是所谓的IO多路转换。主线程负责接收客户端请求,收到请求后将对应的套接字描述符存放在动态数组中,一个子线程负责遍历该套接字描述符的动态数组,并处理对应套接字的客户端请求。动态数组头文件vector_fd.h:#ifndef __V...
2018-06-30 17:25:39 297
原创 吴恩达 - 改善深层神经网络:超参数调试、正则化以及优化 - 1.1 训练集、验证集、测试集
选择最佳的训练集(Training sets)、验证集(Development sets)、测试集(Test sets)对神经网络的性能影响非常重要。除此之外,在构建一个神经网络的时候,我们需要设置许多超参数,例如神经网络的层数、每个隐藏层包含的神经元个数、学习速率、激活函数的选择等等。 实际上很难在第一次设置的时候就选择到这些最佳的参数,而是需要通过不断地迭代更新来获得。这个循环迭...
2018-06-29 10:40:53 1515 2
原创 linux网络编程(9)UDP服务器与客户端代码
服务器代码:#include <sys/socket.h>#include <unistd.h>#include <signal.h>#include <string.h>#include <stdio.h>#include <time.h>#include <stdlib.h>#include &a
2018-06-23 16:29:20 1063
原创 linux网络编程(8)UDP编程模型与数据收发系统调用
UDP编程模型比较TCP编程模型,UDP编程模型中服务器端不需要listen和accept,而是通过readfrom阻塞等待用户请求,UDP编程模型中的客户端不再需要connect服务器,只需要bind套接字与IP即可,当然bind也不是必须要有的。UDP编程步骤1、服务器:1) 在内核中创建结构体struct socket2) 用户空间中创建地址结构体struct sockaddr_in3) 往...
2018-06-23 16:21:54 598
原创 linux网络编程(7)基于多线程的TCP服务器与客户端编程
服务器端:#include <netdb.h> #include <sys/socket.h> #include <time.h> #include <unistd.h> #include <memory.h> #include <signal.h> #include <string.h>
2018-06-19 17:31:11 1019
原创 linux网络编程(6)基于多进程的TCP服务器与客户端编程
服务器端:#include <netdb.h> #include <sys/socket.h> #include <time.h> #include <unistd.h> #include <memory.h> #include <signal.h> #include <string.h>
2018-06-15 17:30:56 497
原创 linux网络编程(5)基于TCP的客户端程序
#include <unistd.h>#include <netdb.h>#include <sys/socket.h>#include <stdlib.h>#include <stdio.h>#include <memory.h>#include <string.h>#include <
2018-06-14 14:03:49 1955
原创 linux网络编程(4)基于TCP的服务器端程序
下面是服务端的程序代码,客户端连接成功后服务器将打印出客户端的地址信息,并将服务器本地的时间发送给客户端:#include <netdb.h>#include <sys/socket.h>#include <time.h>#include <unistd.h>#include <memory.h>#include <sig...
2018-06-14 10:56:25 857
原创 linux网络编程(3)TCP编程模型与TCP的连接、关闭
TCP编程模型服务器端调用序列:1.调用socket函数创建套接字;2.调用bind函数绑定本地地址和端口号;3.调用listen启动监听;4.调用accept从已连接队列中提取客户连接;5.调用IO函数(read/write)与客户端通信;6.调用close关闭套接字。客户端调用序列:1.调用socket函数创建套接字;2.调用connect连接服务器;3.调用IO函数与服务器通信;4.调用cl.........
2018-06-13 17:14:16 1614
原创 linux网络编程(2)字节序、地址结构
1.字节序不同体系结构的主机使用不同的字节序存储器保存多字节整数。字节序存储顺序不同,有的系统高位在前,低位在后(大端字节序),而有的系统是低位在前,高位在后(小端字节序)。以32位存储为例:网络中协议中使用的网络字节序高位在前,低位在后,也就是大端字节序。因此,如果计算机存储的字节序与网络字节序不一致的话,需要进行字节序的转换。下面是不同长度的整数网络字节序与主机字节序直接转换的函数(会根据主机...
2018-06-13 14:55:12 359
原创 linux网络编程(1)Socket套接字
socket(套接字)是一种通信机制,它包含一整套的调用接口和数据结构的定义,它给应用程序提供了使用如TCP/UDP等网络协议进行网络通信的手段。Linux中的网络编程通过socket接口实现,socket是一种特殊的IO,提供对应的文件描述符。一个完整的socket都有一个相关描述{协议, 本地地址, 本地端口, 远程地址, 远程端口};创建socket#include <sys/sock...
2018-06-13 12:16:33 309
转载 Ubuntu18.04下安装搜狗输入法
https://blog.csdn.net/lupengCSDN/article/details/80279177
2018-06-08 17:11:53 1501
转载 UnicodeEncodeError: ‘gbk’ codec can’t encode character u’\uXXXX’ in position XX
对于此类问题:(1)出现UnicodeEncodeError –> 说明是Unicode编码时候的问题;(2) ‘gbk’ codec can’t encode character –> 说明是将Unicode字符编码为GBK时候出现的问题;此时,往往最大的可能就是,本身Unicode类型的字符中,包含了一些无法转换为GBK编码的一些字符。解决办法是:方案1:在对unicode字符编码...
2018-06-08 15:45:48 4669
原创 python logging模块代码示例:实现日志输出到控制台, 并且写入日志文件中
import loggingclass Logger(object): def __init__(self, log_file_name, log_level, logger_name): #创建一个logger self.__logger = logging.getLogger(logger_name) #指定日志的最低输出级别,...
2018-06-07 17:53:56 6694
转载 python的logging日志模块
最近修改了项目里的logging相关功能,用到了python标准库里的logging模块,在此做一些记录。主要是从官方文档和stackoverflow上查询到的一些内容。官方文档技术博客基本用法下面的代码展示了logging最基本的用法。# -*- coding: utf-8 -*-import loggingimport sys# 获取logger实例,如果参数为空则返回root lo...
2018-06-07 17:00:58 197
转载 Python-第三方库requests详解
强烈推荐!requests官方文档已有了中文版,请见http://cn.python-requests.org/zh_CN/latest/ 。requests是python的一个HTTP客户端库,跟urllib,urllib2类似,那为什么要用requests而不用urllib2呢?官方文档中是这样说明的:python的标准库urllib2提供了大部分需要的HTTP功能,但是API太逆天了,一个简...
2018-06-04 09:50:44 379
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人