python实现聊天小程序

yipeiwu_com5年前Python基础

本文实例为大家分享了python实现聊天小程序的具体代码,供大家参考,具体内容如下

我这里实现的是客户端与服务端进行通信的功能,比较简单,与上一篇文章的群聊不太一样。

服务端server.py

#-*- coding:utf-8 -*-
import socket, traceback, sys

host = ''
port = 51423

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind((host, port))
s.listen(1)

ClientSock, ClientAddr = s.accept()
while 1:
 try:
  buf = ClientSock.recv(1024)
  if len(buf):
   print "客户端说: " + buf
  data = raw_input("服务端说: ")
  ClientSock.sendall(data)
 except:
  print "Dialogue Over"
  ClientSock.close()
  sys.exit(0)

客户端client.py

#-*- coding:utf-8 -*-
import socket, sys

host = '192.168.80.21'
# host = raw_input("Plz imput destination IP:")
# data = raw_input("Plz imput what you want to submit:")
port = 51423

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

try:
 s.connect((host, port))
except socket.gaierror, e:
 print "Address-related error connecting to server: %s" % e
 sys.exit(1)
except socket.error, e:
 print "Connection error: %s" % e
 sys.exit(1)

while 1:
 try:
  data = raw_input("客户端说: ")
  s.send(data)
  buf = s.recv(1024)
  if len(buf):
   print "服务端说: " + buf
 except:
  print "Dialogue Over"
  s.close()
  sys.exit(0)

结果展示

这里写图片描述

这里写图片描述

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

相关文章

利用rest framework搭建Django API过程解析

利用rest framework搭建Django API过程解析

思路步骤: 创建一个可以序列化的类 去数据库取数据交给序列化的类处理 把序列化的数据返回前端 操作流程: # 安装模块 pip install djangorestfra...

Python的Django框架中设置日期和字段可选的方法

设置字段可选 在摆弄了一会之后,你或许会发现管理工具有个限制:编辑表单需要你填写每一个字段,然而在有些情况下,你想要某些字段是可选的。 举个例子,我们想要Author模块中的email字...

python 含子图的gif生成时内存溢出的方法

今天想用python做个demo,含两个子图的动态gif,代码如下: import matplotlib.pyplot as plt import imageio,os import...

Python中内置的日志模块logging用法详解

Python中内置的日志模块logging用法详解

logging模块简介 Python的logging模块提供了通用的日志系统,可以方便第三方模块或者是应用使用。这个模块提供不同的日志级别,并可以采用不同的方式记录日志,比如文件,HTT...

django rest framework vue 实现用户登录详解

django rest framework vue 实现用户登录详解

后端代码就不介绍了,可以参考 django rest framework 实现用户登录认证 这里介绍一下前端代码,和前后端的联调过程 在components下新建login.vue 文件...