为了账号安全,请及时绑定邮箱和手机立即绑定

python——socket实现简单C/S交互开发

标签:
Python

pyhton的socket模块可以实现网络编程开发,首先我们介绍一下需要用到的方法:

socket.socket():建立socker套接字,两个参数,family代表家族.type代表类型,type默认TCP

socket.bind():服务器端,接受的参数是元组,不是传递host,port两个元素,而是(host,port)

socket.listen():一个参数,值为允许客户端连接服务器的排队上线,如果超过挂起上限则会拒绝掉

socket.accept():无参数,其返回值是一个元组,第一个是新的套接字对象,第二个是地址

clnt.recv(1024):参数内设置为一次接收的数据,即字节

socket.connect():客户端,与bind对应,接受的也是元组


下面我们来看服务器端的demo代码


# -*- coding:utf-8 -*-#服务器端import sockethost='127.0.0.1'    #IPport=5000           #端口,不能引号#family代表家族.type代表类型,默认TCP#s=socket.socket(family,type)s=socket.socket()#创建套接字#s.bind(host,port)#接受的参数是元组,这样不可以s.bind((host,port))s.listen(5)#值是允许客户端连接服务器排队上限,如果超过挂起上限则会拒绝掉print 'Server open~'clnt,addr=s.accept()#accept()返回是一个元组,第一个是新的套接字对象,第二个是地址print 'cline address :',addrwhile True:data=clnt.recv(1024)#一次接收的数据,1024字节print dataclnt.sendall(data)s.close()


然后再看客户端demo代码


# -*- coding:utf-8 -*-#客户端import sockethost='127.0.0.1'    #IPport=5000           #端口,不能引号s=socket.socket()s.connect((host,port))#接收的也是元组while True:cmd=raw_input('please input :')if cmd=='quit':breaks.sendall(cmd)data=s.recv(1024)print datas.close()


https://img1.sycdn.imooc.com//5b500171000124c003390441.jpg


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消