基于python的socket编程

关于socket编程的一些笔记

(1) udp的server和client觉得本质上没区别,能区分他们的也就是根据谁提供功能谁做server。

(2) 实现聊天程序,在python中引入线程模块即可解决client1说一句,client2才能说一句的尴尬循环。

(3) 实现Webserver的持续连接和非持续连接的差别就主要在于在循环后面是否删除socket.close()。

(4) Tcp相比于Udp多了3此握手,所以TCP不像UDP 服务器端/客户端那样在无连接状态下交换数据。UDP 中只有创建套接字过程和数据交换过程.,不像TCP而还需要调用cennect和listen函数,而且TCP客户端与服务端的socket建立是一对一的,UDP则方便很多。

编程设计

实验2.1:基于TCP / UDP的socket编程

a)分别基于TCP和UDP编写一个简单的Client/Server网络应用程序。要求实现客户向服务器传输任意一个字符串,服务器将收到的字符串变换成大写后传回客户。

b)修改上述程序,实现服务器根据客户请求,将服务器端指定的文件可靠地传输给客户。如果服务器没有指定的文件,服务器将给客户返回一个信息,通知客户其请求文件不存在。

实验2.2:基于TCP的Web Server

a)基于TCP编写一个简单的Web Server,要求可以实现单用户简单页面浏览。

b)修改上述Web Server,实现多用户同时连接(多线程)请求。

实验2.5 SOCKET编程实现聊天程序

实现聊天程序:能相互对发文本消息。

通信模型

在这里插入图片描述

源码

https://github.com/CO2-xz/computer-network-socket

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值