python实现聊天小程序

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

相关文章

详解Python3除法之真除法、截断除法和下取整对比

概述 在Python3中,数学运算中的除法被分为两种,分别是“真除法”,即无论任何类型相除的结果都会保留小数点,和我们实际的数学运算结果一致,而“截断除法”,则是无论任何类型相除的结果...

Python global全局变量函数详解

global语句的作用 在编写程序的时候,如果想为一个在函数外的变量重新赋值,并且这个变量会作用于许多函数中时,就需要告诉python这个变量的作用域是全局变量。此时用global语句就...

解决python通过cx_Oracle模块连接Oracle乱码的问题

用python连接Oracle是总是乱码,最有可能的是oracle客户端的字符编码设置不对。 本人是在进行数据插入的时候总是报关键字"From"不存在,打印插入的Sql在pl/sql中进...

Python编程中实现迭代器的一些技巧小结

yield实现迭代器 如引言中的描述,实现一个可迭代的功能要是每次都手动实现iter,next稍稍有点麻烦,所需的代码也是比较客观。在python中也能通过借助yield的方式来实现一个...

Python Queue模块详解

Python中,队列是线程间最常用的交换数据的形式。Queue模块是提供队列操作的模块,虽然简单易用,但是不小心的话,还是会出现一些意外。 创建一个“队列”对象 import Queue...