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

yipeiwu_com5年前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设计】。

相关文章

phpsir 开发 一个检测百度关键字网站排名的python 程序

源码如下 :保存成utf-8 bd.py 文件 复制代码 代码如下:#!/usr/bin/env python # -*- coding: utf-8 -*- import sys im...

python使用mysql的两种使用方式

python使用mysql的两种使用方式

Python操作MySQL主要使用两种方式: 原生模块 pymsql ORM框架 SQLAchemy pymql pymsql是Python中操作MySQL的模块,在wind...

wxpython中Textctrl回车事件无效的解决方法

本文实例讲述了wxpython中Textctrl回车事件无效的解决方法。分享给大家供大家参考,具体如下: 今天使用wxptyhon的Textctrl控件开发客户端时遇到了一个问题, 按照...

用map函数来完成Python并行任务的简单示例

用map函数来完成Python并行任务的简单示例

众所周知,Python的并行处理能力很不理想。我认为如果不考虑线程和GIL的标准参数(它们大多是合法的),其原因不是因为技术不到位,而是我们的使用方法不恰当。大多数关于Python线程和...

python实现二叉查找树实例代码

本文研究的主要是python实现二叉查找树的相关内容,具体介绍及实现如下。 1. 二叉查找树的定义: 左子树不为空的时候,左子树的结点值小于根节点,右子树不为空时,右子树的结点值大于根节...