Python基于Socket实现的简单聊天程序示例

yipeiwu_com7年前Python基础

本文实例讲述了Python基于Socket实现的简单聊天程序。分享给大家供大家参考,具体如下:

需求:SCIENCE 和MOOD两个人软件专业出身,厌倦了大众化的聊天软件,想着自己开发一款简易的聊天软件,满足他们的个性化需求,又不失“专业水准”,Talk is easy, try to code it.

技术:socket,详细可参考前文:Python Socket实现简单TCP Server/client功能

语言:python

尽管socket区分服务器和客户端,但是在聊天程序中两者是平等的关系,都是客户端程序。

Server.py

import socket
host = socket.gethostname()
port = 12345
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind((host,port))
s.listen(1)
sock,addr = s.accept()
print('Connection built')
info = sock.recv(1024).decode()
while info != 'exit':
  print('MOOD:'+info)
  send_mes = input()
  sock.send(send_mes.encode())
  if send_mes =='exit':
    break
  info = sock.recv(1024).decode()
sock.close()
s.close()

Client.py

import socket
s= socket.socket()
host = socket.gethostname()
port = 12345
s.connect((host,port))
print('Linked')
info = ''
while info != 'exit':
  print('SCIENCE:'+info)
  send_mes=input()
  s.send(send_mes.encode())
  if send_mes =='exit':
    break
  info = s.recv(1024).decode()
s.close()

效果截图:

恩,太low了有木有?连个图形化界面都没有,跟别谈其他个性化功能了。希望他们继续努力,早日做出属于他们自己的聊天软件吧!

更多关于Python相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

相关文章

Python 静态方法和类方法实例分析

Python 静态方法和类方法实例分析

本文实例讲述了Python 静态方法和类方法。分享给大家供大家参考,具体如下: 1. 类属性、实例属性 它们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同, 实例属性属于对...

利用Python实现颜色色值转换的小工具

利用Python实现颜色色值转换的小工具

先看看Zeplin 的颜色色值显示示例 原有处理方式 因为我会 Python (仅限于终端输入 python 然后当做计算器算,或者用 hex() 函数把十进制转换成十六进制),所...

TensorFlow车牌识别完整版代码(含车牌数据集)

TensorFlow车牌识别完整版代码(含车牌数据集)

在之前发布的一篇博文《MNIST数据集实现车牌识别--初步演示版》中,我们演示了如何使用TensorFlow进行车牌识别,但是,当时采用的数据集是MNIST数字手写体,只能分类0-9共1...

python基于递归解决背包问题详解

递归是个好东西,任何具有递归性质的问题通过函数递归调用会变得很简单。一个很复杂的问题,几行代码就能搞定。   最简单的递归问题:现有重量为weight的包,有若干重量分别为W1...

python列出目录下指定文件与子目录的方法

本文实例讲述了python列出目录下指定文件与子目录的方法。分享给大家供大家参考。具体实现方法如下: # if you know the exact name: import os...