#网络编程

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...

python ==》 网络编程

BS架构(腾讯通软件:server+client)CS架构(web网站) C/S架构与socket的关系:我们学习socket就是为了完成C/S架构的开发互联网协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层学习socket一定要先学习互联网协议:1.首先:本节课程的目标就是教会你如何基于s...
代码星球 ·2020-12-25

浅析服务器并发IO性能提升之路 — 从网络编程基础到epoll

我们常常使用HTTP协议来传输各种格式的数据,其实HTTP这个应用层协议的底层,是基于传输层TCP协议来实现的。TCP协议仅仅把这些数据当做一串无意义的数据流来看待。所以,我们可以说:客户端与服务器通过在建立的连接上发送字节流来进行通信。这种C/S架构的通信机制,需要标识通信双方的网络地址和端口号信息。对于客户端来说,...

java网络编程-面试题

1.网络编程时的同步、异步、阻塞、非阻塞?同步:函数调用在没得到结果之前,没有调用结果,不返回任何结果。异步:函数调用在没得到结果之前,没有调用结果,返回状态信息。阻塞:函数调用在没得到结果之前,当前线程挂起。得到结果后才返回。非阻塞:函数调用在没得到结果之前,当前线程不会挂起,立即返回结果。2.Java如何实现无阻塞...
代码星球 ·2020-12-10

Java网络编程面试总结

转载。https://blog.csdn.net/qq_39470733/article/details/846352741.GET和POST的区别?GET请求可被缓存GET请求保留在浏览器历史记录中GET请求可被收藏为书签GET请求不应在处理敏感数据时使用GET请求有长度限制POST请求不会被缓存POST请求不会保留...

Java网络编程面试题

1、tcp和udp的区别 12、tcp连接建立的时候3次握手,断开连接的4次握手的具体过程 13、什么是同步?什么是异步? 24、.什么是阻塞?什么是非阻塞? 55、什么是阻塞IO?什么是非阻塞IO? 66、什么是同步IO?什么是异步IO? 77、IO模型有几...
代码星球 ·2020-12-10

Socket网络编程--FTP客户端

  已经好久没有写过博客进行分享了。具体原因,在以后说。  这几天在了解FTP协议,准备任务是写一个FTP客户端程序。直接上干货了。0.了解FTP作用  就是一个提供一个文件的共享协议。1.了解FTP协议  FTP有指令和响应码。FTP控制帧即指TELNET交换信息,包含TELNET命令和选项。然而,大多数FTP控制帧...

Java知识回顾 (14)网络编程

本资料来自于runoob,略有修改。网络编程是指编写运行在多个设备(计算机)的程序,这些设备都通过网络连接起来。java.net包中J2SE的API包含有类和接口,它们提供低层次的通信细节。你可以直接使用这些类和接口,来专注于解决问题,而不用关注通信细节。套接字使用TCP提供了两台计算机之间的通信机制。客户端程序创建一...
首页上一页...34567...下一页尾页