这篇文章主要介绍了Python socket聊天脚本代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

没有前端,多开了一条线程用于接收信息。

服务器端:

# -*- coding:utf-8 -*-

import socket

import threading

class Sock_Server:

def __init__(self):

self.host = '192.168.1.11' # 获取主机名

self.port = 12345 # 端口

self.ser = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 设置模式

self.ser.bind((self.host, self.port))

self.ser.listen(5)

print('等待客户端连接:')

self.sock, self.addr = self.ser.accept() # 被动接口客户端连接。

print(f'客户:{self.addr},已经连接')

def recv(self): # 接收信息模块

try:

while True:

recv_info = self.sock.recv(1024)

if recv_info:

print('\n收到消息:', recv_info.decode())

if recv_info == '886':

self.sock.close()

self.ser.close()

print('聊天结束!over')

break

finally:

self.sock.close()

self.ser.close()

def send(self):

try:

while True:

send_info = input('请输入你要发送的内容:')

self.sock.send(send_info.encode())

if send_info == '886':

self.sock.close()

self.ser.close()

print('聊天结束!over')

break

finally:

self.sock.close()

self.ser.close()

if __name__ == '__main__':

sock = Sock_Server()

t1 = threading.Thread(target=sock.recv)

t1.start()

sock.send()

客户端:

# -*- coding:utf8 -*-

import socket

import threading

class Sock_Cli:

def __init__(self):

self.host = socket.gethostname() # 获取主机名

self.port = 12345 # 端口

self.ser = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 设置模式

self.ser.connect((self.host, self.port))

def recv(self): # 接收信息模块

try:

while True:

recv_info = self.ser.recv(1024)

if recv_info:

print('\n收到消息:', recv_info.decode())

if recv_info == '886':

self.ser.close()

print('聊天结束!over')

break

finally:

self.ser.close()

def send_info(self):

try:

while True:

send_info = input('请输入你要发送的内容:')

self.ser.sendall(send_info.encode())

if send_info == '886':

self.ser.close()

print('聊天结束!over')

break

finally:

self.ser.close()

if __name__ == '__main__':

cli = Sock_Cli()

t1 = threading.Thread(target=cli.recv)

t1.start()

cli.send_info()

socket是进程间进行通讯很好的方式。

整个代码在886输入退出还存在一些问题,不改了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

python代码实例sicket_Python socket聊天脚本代码实例相关推荐

  1. html气泡运动代码,CSS3 仿微信聊天小气泡实例代码

    今天给大家分享一个我刚做的项目中的一个小案例, 因为我们在做一个聊天的功能,之前的聊天页面UI很丑,我就不在这里展示给大家了. 现在就教大家怎么用css3制作一个和微信聊天界面一样的页面. 首先给大家 ...

  2. java qq聊天界面代码,Java简易qq聊天,代码

    Java简易qq聊天,代码 关注:156  答案:2  手机版 解决时间 2021-02-26 11:56 提问者心死旳很干净 2021-02-25 16:17 Java简易qq聊天,代码 最佳答案 ...

  3. 共享代码——航班预订管理系统UFT脚本代码

    01_Login '判断并结束flight4a.exe进程 Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")' 建立 ...

  4. python中用函数货币转换代码_python将人民币转换大写的脚本代码

    代码如下: def Num2MoneyFormat( change_number ): """ .转换数字为大写货币格式( format_word.__len__() – ...

  5. windows下tomcat8启动脚本代码剖析--catalina.bat

    Windows下,Tomcat可以以服务形式启动.停止,也可以执行脚本启动(startup.bat).停止(shutdown.bat).执行startup.bat时会调用catalina.bat,ca ...

  6. python软件代码示例-用Python写一个模拟qq聊天小程序的代码实例

    Python 超简单的聊天程序 客户端: import socket, sys host = '10.248.27.23' # host = raw_input("Plz imput des ...

  7. python怎么发送代码文件_python 通过 socket 发送文件的实例代码

    目录结构: client: #!/usr/bin/env python # -*-coding:utf-8 -*- import socket, struct, json download_dir = ...

  8. 能不能用python开发qq_用Python写一个模拟qq聊天小程序的代码实例

    用Python写一个模拟qq聊天小程序的代码实例 发布时间:2020-09-09 07:49:29

  9. 用Python写一个模拟qq聊天小程序的代码实例

    前言 今天小编就为大家分享一篇关于用Python写一个模拟qq聊天小程序的代码实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧 Python 超简单的聊天 ...

最新文章

  1. html中 alt 和 title 的区别
  2. 剑网三12年的弹指一挥间,如今的本命年,游戏方面有多少突破呢?
  3. 配置中文_星球大战:战机中队配置需求公布 支持中文
  4. mysql跨节点join——federated引擎
  5. 缓存服务器在Linux下的运用
  6. 第7篇:Flowable快速工作流脚手架Jsite_请假实战_HR审批
  7. 2021浙江高考宁波四中成绩查询,2021浙江高考成绩查询时间公布 几号能查分
  8. 海底捞的服务“歧视”
  9. 数组的方法之(Array.prototype.reduce() 方法)
  10. SQL Server 通过发布订阅 实现数据库同步
  11. 经营生鲜便利店的超级产品战略,盘点那些靠卖菜抢占社区的便利店
  12. 【图片、字符画互转】字符画实现(JAVA)
  13. 通过pyproj进行WGS84到UTM坐标的转换
  14. 一键同步Elasticsearch,DataWorks数据集成同步解决方案上线!
  15. Excel操作报错 Application excelApp = new Application()异常
  16. FlashFXP上传下载
  17. 信息隐藏技术综述-学习笔记
  18. texturepacker 打包图集
  19. 微信小程序-UI控件的使用(1)
  20. zenmap使用方法

热门文章

  1. Effective Java学习笔记之第5条 避免创建不必要的对象
  2. Buffers, windows, and tabs
  3. 地球化学图解系统GCDPlot 0.33
  4. 花花酱leetcode 题目——搜索专题
  5. [Leedcode][第215题][JAVA][数组中的第K个最大元素][快排][优先队列]
  6. win102004优化_win10 2004系统电脑出现玩命运2掉帧的问题
  7. python装饰器解析_Python 装饰器解析
  8. linux tcp header更改,Linux Netfilter中修改TCP/UDP Payload的方法
  9. c语言自定义输出小数点位数_C语言中输出时怎样控制小数点后的位数,请举例说明......
  10. python3有多少个关键字排序_python3 数据结构和算法-- 通过某个关键字排序一个字典列表...