程序媛计划——python socket通信

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了程序媛计划——python socket通信相关的知识,希望对你有一定的参考价值。

定义

  socket 是进程间的一种通信方式,可以实现不同主机间的数据传输

 

#写服务期端程序server.py

#实现服务器向客户端连接

 1 #!/usr/bin/env python
 2 #coding:utf-8
 3 import socket
 4 s= socket.socket()
 5 #127.0.0.1是本地主机,1234是随意设置到一个端口号
 6 s.bind((127.0.0.1,1234))  #绑定端口号为1234
 7 
 8 #等待客户端连接
 9 s.listen(5)
10 while True:
11     c, addr= s.accept() #连接后会得到connect和一个address
12     print u"连接地址为",addr
13     c.send("成功连接至服务器")  #向客户端发送消息
14     c.close()   #关闭连接

#效果:运行成功后cosole应该是没有任何显示的

 

#可能会出现端口被占用的情况

#解决措施

技术分享

 

#再新建一个client.py

1 #!/usr/bin/env python
2 #coding:utf-8
3 import socket
4 s=socket.socket()
5 s.connect((127.0.0.1,1234))
#s.recv(1024)表示每次最多接收1024字节的数据
6 print s.recv(1024) #这里收到的就是server的s.send()中的内容 7 s.close()

#在客户端运行代码后发现服务器端和客户端console显示如下,表示连接成功

技术分享

#服务器端成功打印出链接地址(server.py中的addr)

 

 

 

 

#模拟客户端向服务器端发送消息

#服务器端

 1 #!/usr/bin/env python
 2 #coding:utf-8
 3 import socket
 4 s= socket.socket()
 5 #127.0.0.1是本地主机,1234是随意设置到一个端口号
 6 s.bind((127.0.0.1,1234))  #绑定端口号为1234
 7 
 8 #等待客户端连接
 9 s.listen(5)
10 while True:
11     c, addr= s.accept() #连接后会得到connect和一个address
12     print u"连接地址为",addr
13     c.send("成功连接至服务器")  #向客户端发送消息
14 
15     #eval将收到的字符串转化为dict
16     dict=eval(c.recv(1024))
17     if dict:
18         print "收到的日记为",dict
19         print "日记的标题为",dict[title]
20         print "日记的内容为",dict[content]
21 
22 
23 
24     c.close()   #关闭连接

#客户端

 1 #!/usr/bin/env python
 2 #coding:utf-8
 3 import socket
 4 s= socket.socket()
 5 #127.0.0.1是本地主机,1234是随意设置到一个端口号
 6 s.bind((127.0.0.1,1234))  #绑定端口号为1234
 7 
 8 #等待客户端连接
 9 s.listen(5)
10 while True:
11     c, addr= s.accept() #连接后会得到connect和一个address
12     print u"连接地址为",addr
13     c.send("成功连接至服务器")  #向客户端发送消息
14 
15     #eval将收到的字符串转化为dict
16     dict=eval(c.recv(1024))
17     if dict:
18         print "收到的日记为",dict
19         print "日记的标题为",dict[title]
20         print "日记的内容为",dict[content]
21 
22 
23 
24     c.close()   #关闭连接

#先运行服务器端,再运行客户端

#效果

技术分享

技术分享

 


以上是关于程序媛计划——python socket通信的主要内容,如果未能解决你的问题,请参考以下文章

程序媛计划——python初级课时1

程序媛计划——python初级课时3~5

程序媛计划——python网络编程

浅说API网关与微服务框架(上)——单身程序媛MM拯救计划

程序媛计划——mysql修改表结构

程序媛计划——mysql连接表