python3编写C/S网络程序实例教程

yipeiwu_com5年前Python基础

本文以实例形式讲述了python3编写C/S网络程序的实现方法。具体方法如下:

本文所述实例是根据wingIDE的提示编写的一个C/S小程序,具体代码如下:

client端myclient.py代码如下:

#!/bin/env python
#-*- coding:gb18030 -*-
#
import socket 
import time

i=1
while i<10:
  address=("127.0.0.1",3138)
  s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  s.connect(address)
  buf='N:%d' % i
  s.send(buf.encode()) #注意,在python3.0中,网络发送必须采用字节字符串格式的,比如s.send(b"abc")
  buff=s.recv(1024)
  if(len(buff)):
    print(buff) 
  s.close
  time.sleep(1)
  i+=1

server端myserver.py代码如下:

#!/bin/env python
#-*- coding:gb18030 -*-
#
import socket
address=('127.0.0.1',3138)
s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(address)
s.listen(10)
while True:
  cfd,address=s.accept()
  buf=cfd.recv(1024)
  print(buf,address)
  cfd.send(buf)
  cfd.close()

希望本文实例对大家Python网络程序设计能有一定的参考借鉴作用。

相关文章

11个Python Pandas小技巧让你的工作更高效(附代码实例)

本文为你介绍Pandas隐藏的炫酷小技巧,我相信这些会对你有所帮助。 或许本文中的某些命令你早已知晓,只是没意识到它还有这种打开方式。 Pandas是一个在Python中广泛应用的数据...

python协程之动态添加任务的方法

python协程之动态添加任务的方法

python协程只能运行在事件循环中,但是一旦事件循环运行,又会阻塞当前任务。所以只能在当前进程中再开一个线程,这个线程的主要任务是运行事件循环,就是event_loop,因为他是一个无...

Python 中的参数传递、返回值、浅拷贝、深拷贝

1. Python 的参数传递 Python的参数传递,无法控制引用传递还是值传递。对于不可变对象(数字、字符、元组等)的参数,更类似值传递;对于可变对象(列表、字典等),更类似引用传递...

如何用C代码给Python写扩展库(Cython)

如何用C代码给Python写扩展库(Cython)

之前一篇文章里提到了利用Cython来编译Python,这次来讲一下如何用Cython给Python写扩展库。 两种语言混合编程,其中最重要的是类型的传递。 我们用一个简单的例子进行入门...

Pytorch技巧:DataLoader的collate_fn参数使用详解

DataLoader完整的参数表如下: class torch.utils.data.DataLoader( dataset, batch_size=1, shuffle=Fa...