Python学习之服务器与客户端的交互

题记

        这些天在学习python的安全类编程,我习惯于在纸上做笔记,因此基础知识就没有在博客上更新了,但是项目会在电脑上复现的,一步一步来,我相信我也能学会的,学习的路程就是把陌生的变成熟悉的,我以前很抵触编程的,只能看不能上手,现在我觉得项目的实现也是一个很有成就感的事情呢。我会把各个语句在后面做注释,也是熟悉的一个过程,我是在cmd上整的,当然你也可以在开发工具上整合成server.py与client.py。

服务器端

>>> import socket //引入socket模块,此模块常用于TCP/IP的链接,类似于封装好的接口,引用上就能直接使用。

>>> s1=socket.socket() //初始化

>>> s1.bind(("127.0.0.1",2345)) //建立服务器端的TCP链接,bind函数用于创建连接,端口为2345

>>> s1.listen(5) //最大连接数为5

>>> while 1: //进入循环结构

... conn,address=s1.accept() //cmd里tab键错位,接收连接地址和新建一个初始化的套接字。

... print "a new connect from",address //输出a new connect from加ip地址

... conn.sendall("hello hacker") //给连接上的设备发送语句

... conn.close() //关闭socket链接

服务端语句,等有其他设备链接后显示链接的地址

客户端

>>> import socket //引入socket模块,此模块常用于TCP/IP的链接,类似于封装好的接口,引用上就能直接使用。

>>> s2=socket.socket() //初始化

>>> s2.connect(("127.0.0.1",2345)) //连接服务端

>>> data=s2.recv(1024) //接收服务端发送的1024字节的数据,赋值给data

>>> s2.close() //关闭socket连接

>>> print "Received",repr(data) //输出Received与data中内容

可以看到收到服务端内容了

此时服务端也回显了连接的客户端ip与端口

原文地址:https://www.cnblogs.com/sunny11/p/14129444.html