热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

搭完一个Debian编程环境并开发了一个简单socket程序后的总结

搭完一个Debian编程环境并开发了一个简单socket程序后的总结--Linux发行版技术-Debian信息,下面是详情阅读。
1.安装Debian的时候由于没有经验所以浪费了很多时间,重装了许多次。

安装了3次Debian系统,第一次磁盘空间不足没有安装成功,第二次直接选择了Debian的默认设置,安装了一个带界面的,第三次把desk top选项去掉,安装了一个不带界面的Debian。

2.由于对linux的了解有限遇到问题有时也不得不重新安装

安装完Debian后,无法连接网络,修改了/etc/network/interfaces文件中的ip地址,网关,和dns,但是还是不行。怀疑是因为安装的时候系统自动配置网络没有成功,重新安装了一遍系统,然后在配置网络处选择手动配置,安装后可以联网。

3.安装一些常用的软件和命令

3.1安装gcc命令

从网上下载了一个gcc安装文件,但是按照它给的提示总安装不成功,提示找不到c编译器。最后没有办法,使用了一个有局限性的方法:联网状态apt-get install gcc

3.2安装其他的一些常用命令

安装ssh命令 apt-get install ssh
安装make命令 apt-get install make
安装bzip2命令 apt-get install bzip2 //用于解压.bz2文件
...

4.ip,网关等信息都存放在/etc/network/的interfaces文件中个格式如下:

allow-hotplug eth0
iface eth0 inet static
address 192.168.1.223
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
dns-nameservers 202.99.96.68

5.参考网上的例子编写了一个简单的socket程序

实现了服务器和客户端的通信,当客户端连接服务器的时候,服务器就会发送消息到客户端并在客户端显示

5.1 编完了以后简单的学习了一下gcc的用法,然后对server.c和client.c文件进行编译 有一些小错误,最后解决了。

5.2 运行server.o client.o

./server.o
./client.o 127.0.0.1

服务器正常监听,但客户端连接服务器总失败。由于急于把程序跑起来,所以查了大半天也没把错误找出来,通过别人的指点发现原来是由于运算符优先级的问题而导致的socket没有初始化成功。这让我非常的郁闷,但是回头想想,我确实不知道那两个运算符优先级的高低,以后参考别人的程序的时候一定要仔细。

6.程序正常运行起来以后,开始学习makefile的写法,打算用make命令来编译我的工程

关于makefile的写法网上有很多帮助,简单的makefile写法马上就学会了。
makeserver

server:server.o
gcc -o server server.o
server.o:server.c
gcc -c server.c

clean:
rm server server.o

使用make clean命令可以清除文件

7.结束

希望我的经历对大家能有所帮助。

作者:happystone1984
推荐阅读
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 大坑|左上角_pycharm连接服务器同步写代码(图文详细过程)
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了pycharm连接服务器同步写代码(图文详细过程)相关的知识,希望对你有一定的参考价值。pycharm连接服务 ... [详细]
  • 现在比较流行使用静态网站生成器来搭建网站,博客产品着陆页微信转发页面等。但每次都需要对服务器进行配置,也是一个重复但繁琐的工作。使用DockerWeb,只需5分钟就能搭建一个基于D ... [详细]
  • 在单位的一台4cpu的服务器上部署了esxserver,挂载了6个虚拟机,目前运行正常。在安装部署过程中,得到了cnvz.net论坛精华区 ... [详细]
  • Linux一键安装web环境全攻略
    摘自阿里云服务器官网,此处一键安装包下载:点此下载安装须知1、此安装包可在阿里云所有Linux系统上部署安装,此安装包包含的软件及版本为& ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 树莓派Linux基础(一):查看文件系统的命令行操作
    本文介绍了在树莓派上通过SSH服务使用命令行查看文件系统的操作,包括cd命令用于变更目录、pwd命令用于显示当前目录位置、ls命令用于显示文件和目录列表。详细讲解了这些命令的使用方法和注意事项。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • DockerDataCenter系列(四)-离线安装UCP和DTR,Go语言社区,Golang程序员人脉社 ... [详细]
author-avatar
vijay
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有