python如何创建TCP服务端和客户端

yipeiwu_com6年前Python基础

本文实例为大家分享了python创建tcp服务端和客户端的具体代码,供大家参考,具体内容如下

1.服务端server

from socket import *
from time import ctime

HOST = ''
PORT = 9999
BUFSIZ = 1024
ADDR = (HOST, PORT)

tcpSerSock = socket(AF_INET, SOCK_STREAM)  #创建套接字
tcpSerSock.bind(ADDR)  #绑定IP和端口
tcpSerSock.listen(5)  #监听端口,最多5人排队

while True:
  print('waiting for connection...')
  tcpCliSock, addr = tcpSerSock.accept()  #建立连接
  print('...connected from:', addr)

  while True:
    data = tcpCliSock.recv(BUFSIZ)
    if not data:
      break
    content = '[%s] %s' % (bytes(ctime(), "utf-8"), data)
    print(data)
    print(type(content))
    tcpCliSock.send(content.encode("utf-8"))

  tcpCliSock.close()

tcpSerSock.close() 

2.客户端client

from socket import *

HOST = '127.0.0.1' # or 'localhost'
PORT = 9999
BUFSIZ = 1024
ADDR = (HOST, PORT)

tcpCliSock = socket(AF_INET, SOCK_STREAM)
tcpCliSock.connect(ADDR)

while True:
  data = input('> ')
  if not data:
    break

  tcpCliSock.send(data.encode("utf-8"))
  data = tcpCliSock.recv(BUFSIZ)
  if not data:
    break
  print(data.decode("utf-8"))

tcpCliSock.close()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

详解pandas.DataFrame中删除包涵特定字符串所在的行

详解pandas.DataFrame中删除包涵特定字符串所在的行

你在使用pandas处理DataFrame中是否遇到过如下这类问题?我们需要删除某一列所有元素中含有固定字符元素所在的行,比如下面的例子:   以上所述是小编给大家介绍的pa...

Python绘制二维曲线的日常应用详解

Python绘制二维曲线的日常应用详解

使用Python绘制出类似Excel或者MATLAB的曲线还是比较容易就能够实现的,需要用到的额外库有两个,numpy和matplotlib。使用这两个模块实现的曲线绘制其实在一定程度上...

Python的Django框架中消息通知的计数器实现教程

故事的开始:.count() 假设你有一个Notification Model类,保存的主要是所有的站内通知: class Notification(models.Model):...

numpy中的meshgrid函数的使用

numpy官方文档meshgrid函数帮助文档https://docs.scipy.org/doc/numpy/reference/generated/numpy.meshgrid.ht...

学生信息管理系统python版

本文实例为大家分享了python学生信息管理系统的具体代码,供大家参考,具体内容如下 #!/usr/bin/env python # @Time : 2018/3/30 17:37...