c语言之Linux网络开发

一、网络编程预备知识 socket IP地址 端口号 字节序 (一)socket 是一个编程接口 是一种特殊的文件描述符 (everything in Unix is a file) 并不仅限于TCP/IP协议 面向连接 (Transmission Control Protocol - TCP/IP) 无连接 (User Datagram Protocol -UDP 和 Inter-network Packet Exchange - IPX) (二)socket类型 1、流式套接字(SOCK_STREAM) 提供了一个面向连接、可靠的数据传输服务,数据无差错、无重复的发送且按发送顺序接收。内设置流量控制,避免数据流淹没慢的接收方。数据被看作是字节流,无长度限制。 2、数据报套接字(SOCK_DGRAM) 提供无连接服务。数据包以独立数据包的形式被发送,不提供无差错保证,数据可能丢失或重复,顺序发送,可能乱序接收。 3、原始套接字(SOCK_RAW) 可以对较低层次协议如IP、ICMP直接访问。 (三)socket的位置 (四)IP地址 IP地址是Internet中主机的标识: Internet中的主机要与别的机器通信必须具有一个IP地址 IP地址为32位(IPv4)或者128位(IPv6) 每个数据包都必须携带目的IP地址和源IP地址,路由器依靠此信息为数据包选择路由 表示形式:常用点分形式,如202.38.64.10,最后都会转换为一个32位的无符号整数 (五)端口号 为了区分一台主机接收到的数据包应该转交给哪个进程来进行处理,使用端口号来区别 TCP端口号与UDP端口号独立 端口号一般由IANA (Internet Assigned Numbers Authority) 管理 众所周知端口:1~1023(1~255之间为众所周知端口,256~1023端口通常由UNIX系统占用) 注册端口:1024~49150 动态或私有端口:49151~65535 (六)字节序 不同类型CPU的主机中,内存存储多字节整数序列有两种方法,称为主机字节序(HBO): 小端序(little-endian) - 低序字节存储在低地址 将低字节存储在起始地址,称为“Little-Endi...

Python本地虚拟环境搭建及Pycharm配置

 一、虚拟环境搭建的几种方式

      看到上面这个标题你也许质疑为什么是本地,没错,与之相对的就是远程虚拟环境的搭建。大部分开发者可能用的是windows系统来进行开发,然后将开发后的项目部署到Linux服务器上,那么在Linux上搭建虚拟环境,然后本地来使用就属于远程虚拟环境搭建了。
而本篇文章探讨的是本地虚拟环境的搭建,搭建的方式有很多,比较常见的有:
  • anaconda
  • virtualenv
  • pipenv
那么这几种有什么区别以及又该如何选择呢?
      anaconda和后面两种区别较大,在上一篇文章中提过全局环境就是将Python包下载下来直接安装就使用了,anaconda你可以理解成一个集成工具,它已经集成了Python,那么不同版本的anaconda集成了不同版本的Python,所以你无需再单独去下载Python了,只需要下载一个anaconda即可,安装后集成的Python就是全局环境的Python。
       而针对后面两种,需要注意的是你必须单独去下载Python并且安装在全局环境中,然后在全局环境中再去安装能够虚拟化环境的工具包。
       显然anaconda比较适合初学者,不用费那么大力去折腾环境了,无论是初学者还是有基础的朋友们,我都建议使用第一种,上手容易而且也好用,在本篇文章中我们就来探讨第一种方式的安装与使用。

二、Anaconda的安装

既然安装就需要下载:
        推荐使用清华镜像源,不同版本的Anaconda中带着不同的Python解释器,假如使用Python3.8.5,就需要下载该版本的 Anaconda
此时进行安装,基本上就是一直Next即可,但是需要注意2个地方:


第一个选项就是适合自己,第二个选项就是任何用户都可以。
       这个地方建议选择第一项,第一项就是自动添加系统环境变量,这样我们就不用自己来配置,它的效果就是当你安装完成后,可以直接在Dos命令行中输入Anaconda相关的命令。
       此时,就继续向下安装即可。当你完成安装后你可以直接在Dos命令行中输入conda和python命令,如果出现下面的内容,那么就是完成了Anconda的安装:
C:\Users\shenjianping>conda -V conda 4.9.2 C:\Users\shenjianping>python Python 3.8.5 (default, Sep 3 2020, 21:29:08) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32 Warning: This Python interpreter is in a conda environment, but the environment has not been activated. Libraries may fail to load. To activate this environment please see https://conda.io/activation Type "help", "copyright", "credits" or "license" for more information. >>>
三、Anconda的配置


       Anconda主要是为了创建虚拟环境,使用Anconda提供的conda命令即可,而且也可以安装依赖包,不过每个人的习惯不同。比如,我就是使用conda来创建虚拟环境,使用pip(已经集成了Python,所以自带了pip)来安装依赖包,pip就是Python的依赖包管理工具。
       但是这两个工具拉去依赖包都是从官网拉取,这样会很慢,所以我们需要对其进行包的源的配置。
  • conda源配置
  • pip源配置
(一)conda源配置
       在用户家目录下新建一个.condarc文件(C:\Users\shenjianping\\.condarc),写入下面配置信息:
channels: - defaults show_channel_urls: true default_channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r custom_channels: conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
       接着运行 conda clean -i 命令清除索引缓存,保证用的是镜像站提供的索引,此时通过conda命令所有的软件包都是从清华镜像源拉取。

(二)pip源配置

在用户家目录下新建一个pip文件夹,然后在文件夹下新建一个pip.ini文件(C:\Users\shenjianping\pip\pip.ini),写入下面信息:
[global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple [install] trusted-host=pypi.tuna.tsinghua.edu.cn
四、Anconda的使用

通过上述的配置后,就可以正常使用了,那么来实践一下吧!
假如创建一个虚拟环境:
conda create -n testEnv python=3.10
上面的命令就是创建一个Python解释器是3.10版本、名称(-n相当于-name)是testEnv的虚拟环境。 查看虚拟环境:
conda info --env
进入这个虚拟环境:
conda activate testEnv
此时命令行的前面有一个括号,里面就是你的虚拟环境名称:
C:\Users\shenjianping>conda activate testEnv (testEnv) C:\Users\shenjianping>
此时可以在这个环境下安装各种依赖包了,如:
(testEnv) C:\Users\shenjianping>pip install requests
查看安装的依赖包:
(testEnv) C:\Users\shenjianping>pip list
如果需要进入全局环境时,就退出虚拟环境:
(testEnv) C:\Users\shenjianping>conda deactivate
如果这个虚拟环境你不需要,你也可以删除掉:
conda remove -n testEnv --all
这就是基本常规操作。

五、Pycharm中配置虚拟环境

       上面过程一直在DOS窗口中进行操作的,难道在开发中也要这样搞吗?那不得疯掉吗,所以我们需要找一个IDE工具来进行开发,但是此时IDE中需要配置这个虚拟环境,那么你知道自己安装的虚拟环境在什么地方吗?
       你应该关注Anaconda安装后的位置,如果默认安装的话,请查看自己这个路径:C:\Users\shenjianping\\.conda\envs
       显然,这个路径下就是所有的虚拟环境,我们使用的Pyhon解释器路径:C:\Users\shenjianping\.conda\envs\testEnv
       接下来我们打开我们的IDE,作者本人使用的是PyCharm工具:




这样就完成了Pycharm中Python解释器的配置了。


更多文章合集前往: 往期精彩文章

此博客中的热门博文

玩转虚拟机系列之如何搭建虚拟机

玩转虚拟机系列之远程工具

玩转虚拟机系列之如何高效创建虚拟机