码迷,mamicode.com
首页 > 其他好文 > 详细

socket

时间:2019-10-20 17:45:25      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:start   put   prope   class   python   服务   plain   iso   variable   

socket编程

服务端编程

新建 server.py 文件,添加如下代码:

import threading
import socket
?
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
ip_port = (‘127.0.0.1‘, 211)
s.bind(ip_port)
s.listen(5)
con, address = s.accept()
print("%s 已连接" % address[0])
con.send(‘hello python‘.encode())
isok = True
?
?
def rec(con):
   global isok
   while isok:
       recv_data = str(con.recv(1024), encoding="utf-8")
       if recv_data == ‘exit‘:
           isok = False
?
       print(recv_data)
?
?
thrd = threading.Thread(target=rec, args=(con,))
thrd.start()
?
while isok:
   send_d = input("server>")
   con.sendall(bytes(send_d, encoding=‘utf-8‘))
   if send_d == ‘exit‘:
       isok = False
?
s.close()

客户端编程

新建client.py文件,添加如下代码:

import threading
import socket
?
cl = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
ip_port = (‘127.0.0.1‘, 211)
cl.connect(ip_port)
?
isok = True
?
?
def rec(cl):
   global isok
   while isok:
       t = cl.recv(1024).decode("utf8")  # 客户端也同理
       if t == "exit":
           isok = False
       print(t)
?
?
th2 = threading.Thread(target=rec, args=(cl,))
th2.start()
?
while isok:
   t = input()
   cl.send(t.encode(‘utf8‘))
   if t == "exit":
       isok = False
cl.close()

效果图

技术图片

 

 技术图片

 

 

 

socket

标签:start   put   prope   class   python   服务   plain   iso   variable   

原文地址:https://www.cnblogs.com/blamwq/p/11708131.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!