#UNIX环境高级编程第三版

Socket网络编程--聊天程序(9)

  这一节应该是聊天程序的最后一节了,现在回顾我们的聊天程序,看起来还有很多功能没有实现,但是不管怎么说,都还是不错的。这一节我们将讲多服务器问题(高大上的说法就是负载问题了。)至于聊天程序的文件发送(也即二进制文件发送例如图片)和单点登陆(就是多加一个数组fd_L[],用来记录是否已经登陆过了。),这些问题就不讨论了...

Socket网络编程--聊天程序(8)

  上一节已经完成了对用户的身份验证了,既然有了验证,那么接下来就能对不同的客户端进行区分了,所以这一节讲实现私聊功能。就是通过服务器对客户端的数据进行转发到特定的用户上,  实现私聊功能的聊天程序  实现的技术细节是:对客户端发送的数据增加一个标识头,由于我们处理的是纯文本,所以为了讲解的方便就把标识头加到聊天信息的...

Socket网络编程--聊天程序(7)

  接上一小节,本来是计划这一节用来讲数据库的增删改查,但是在实现的过程中,出现了一点小问题,也不是技术的问题,就是在字符界面上比较不好操作。比如要注册一个帐号,就需要弄个字符界面提示,然后输入数字表示选择,在依次输入信息。(这一点,用C写过什么管理系统就知道,很是麻烦。)考虑到本程序讲的是网络编程,就不弄增删改查了,...

Socket网络编程--聊天程序(6)

  这一小节将增加一个用户的结构体,用于保存用户的用户名和密码,然后发给服务器,然后在服务器进行判断验证。这里就有一个问题,以前讲的就是发送字符串是使用char类型进行传输,然后在服务器进行用同样是字符串进行接收。然而作为一个结构体是不是也可以呢?如果有看send或recv的函数定义就知道第二个参数是void*类型,也...

Socket网络编程--聊天程序(5)

  上一小节我们讲了使用select来避免使用多进程的资源浪费问题。上次只是实现了从多个客户端发送数据给服务器端,接下来就要实现从服务器端发送数据给各个客户端。   使用select多路转换处理聊天程序2  client.c使用上一节用的那个,在那个基础上修改下面几句66//send-recv一些返回指没有判...

Socket网络编程--聊天程序(4)

  上一小节讲到可以实现多客户端与服务器进行通讯,对于每一个客户端的连接请求,服务器都要分配一个进程进行处理。对于多用户连接时,服务器会受不了的,而且还很消耗资源。据说有个select函数可以用,好像还很NB的样子。  使用select多路转换处理聊天程序  下面摘取APUE14.5小结I/O多路转接当从一个描述符读,...

Socket网络编程--聊天程序(3)

  上一小节,已经讲到可以每个人多说话,而且还没有限制,简单的来说,我们已经完成了聊天的功能了,那么接下来我们要实现什么功能呢?一个聊天程序至少应该支持一对多的通讯吧,接下来就实现多个客户端往服务器发送数据,和服务器向多个客户端发送数据。  多对一,单向,各个客户端都可以向服务器发送数据  close函数  #incl...

Socket网络编程--聊天程序(2)

  上一节简单如何通过Socket创建一个连接,然后进行通信。只是每个人只能说一句话。而且还是必须说完才会接收到信息,总之是很不方便的事情。所以这一小节我们将对上一次的程序进行修改,修改成每个人可以多说话,主要是通过Linux下多进程fork实现的。  一对一,server和client是每个人都可以多说几句话  由于...

Socket网络编程--聊天程序(1)

  很早的一段时间,看了APUE和UNPv1了解了网络编程,但是但是只是看而已,没有具体的实践,趁现在没有什么事做,就来实践了解一下网络编程。写博客保存下来,方便以后用到的时候可以查到。  此次的聊天程序是迭代开发的。就是一步一步的修改成不同功能的聊天程序。  服务器server和客户端client    一对一,se...

第三章:关于交换机的自学习与转发

  重点例题:  答案:  解释:1:A向B发送一帧:S1自学习与转发帧过程:自学习取出源地址,发现S1表中MAC地址没有A,所以把A(MAC地址)--->1(接口)写入S1表;查表,发现S1表中没有目的地址B,所以进行广播(向除了1接口以外的都发送,即...

微信公众号开发 [02] 本地测试环境搭建

2018.05.15补充: 最近公众号的功能要更新,又得把这东西捡起来,结果发现花生壳现在内网穿透要收费了,简直不爽。所以如果不考虑付费的话,这篇文章基本上就要报废了,这尼玛耶,索性找了个好东西,免费的,就只贴链接了,是个叫“NATAPP”的软件,设置也很简单,设置方式戳这里《NATAPP1分钟快速新手图文教...

解决修改 Linux 下的 PHP 环境变量不生效的方法

这个问题出现服务器有多个PHP版本,php-v和phpinfo()显示两个不同的版本最近真的,都给朋友解决问题了。。。phpinfo查看的php版本是7.2.6,到bash去使用php-v查看的确是5.4.2直接上手先改环境变量,全局永久生效的那种~vi/etc/profile在最后加入对应的PHP路径exportPA...

TP5.0 where数组高级查询

多条件模糊查询多条件比较查询使用数组可以方便得将一些比较复杂的查询条件,组合到一个数组之内如以下数据库查询$subjectList=Db::name('user_apply')->alias('a')->field('a.subject_id,u.name,b.pname,a.money,a.create_...

源码编译安装lnmp环境(nginx-1.14.2 + mysql-5.6.43 + php-5.6.30 )------踩了无数坑,重装了十几次服务器才会的,不容易啊!

 和LAMP不同的是,LNMP中的N指的是Nginx(类似于Apache的一种web服务软件),并且php是作为一个独立服务存在的,这个服务叫做php-fpm,Nginx直接处理静态请求,动态请求会转发给php-fpm。 目前LNMP环境的应用非常多。在静态页面的处理上,Nginx比Apache更强...

在linux服务器中网站环境搭建好了.能看到首页,其他页面404解决

Linux开启url重写的方法:1、打开apache里httpd.conf(通常是在/etc/httpd/conf目录里)2、找到#LoadModulerewrite_modulemodules/mod_rewrite.so去掉前面的#3、找到AllowOverrideNone改成AllowOverrideAll,有两...
首页上一页...6162636465...下一页尾页