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

本文实例讲述了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程序设计有所帮助。

(0)

相关推荐

  • Python socket网络编程TCP/IP服务器与客户端通信

    Python socket网络编程 初学 python,前段时间买了两本书<python 编程从入门到实践><Python 核心编程第三版>,第一本书主要讲的是一些基本语法和一些基本的使用方法,而第二本则深入很多,自己看来也是一知半解,刚好看到了这部分网络编程,依然有好多不太理解的地方,不过想来通过自己不断的摸索,不断地搜寻资料学习,早晚应该会变得通透吧....... 这部分主要使用的模块就是 socket 模块,在这个模块中可以找到 socket()函数,该函数用于创建套接字对象

  • Python Socket实现简单TCP Server/client功能示例

    本文实例讲述了Python Socket实现简单TCP Server/client功能.分享给大家供大家参考,具体如下: 网络上关于socket的介绍文章数不胜数.自己记录下学习的点点滴滴.以供将来复习学习使用. socket中文的翻译是套接字,总感觉词不达意.简单的理解就是ip+port形成的一个管理单元.也是程序中应用程序调用的接口. 在这里我们先介绍如何启动tcp 的server. tcp连接中server部分,启动一个ip和port口,在这个port口监听,当收到client发来的请求,

  • python socket多线程通讯实例分析(聊天室)

    本文实例讲述了python socket多线程通讯方法.分享给大家供大家参考,具体如下: #!/usr/bin/evn python """ 这是一个Socket+多进程的例子(聊天服务端) """ import socket import threading # 处理中文数据用的 encoding = "GBK" def HKServer(client, addr): """ 与客户端时实通讯函

  • Python基础教程之tcp socket编程详解及简单实例

    Python tcp socket编程详解 初学脚本语言Python,测试可用的tcp通讯程序: 服务器: #!/usr/bin/env python # -*- coding: utf-8 -*- import socket import threading import time def tcplink(sock, addr): print('Accept new connection from %s:%s...' % addr); sock.send(b'Welcome!!!'); whi

  • python网络编程之TCP通信实例和socketserver框架使用例子

    1.TCP是一种面向连接的可靠地协议,在一方发送数据之前,必须在双方之间建立一个连接,建立的过程需要经过三次握手,通信完成后要拆除连接,需要经过四次握手,这是由TCP的半关闭造成的,一方在完成数据发送后要发送一个FIN来终止这个方向的连接,一个TCP连接在收到一个FIN后仍能发送数据,但应用程序很少这么做,下面是TCP连接建立和拆除的过程: 2.python可以实现TCP服务器和客户端的编程,下面是代码: 服务器端: 复制代码 代码如下: #!/usr/bin/env pythonimport

  • Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能示例

    本文实例讲述了Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能.分享给大家供大家参考,具体如下: [吐槽] 网上的代码害死人,看着都写的言之凿凿,可运行就是有问题. 有些爱好代码.喜欢收藏代码的朋友,看到别人的代码就粘贴复制过来.可是起码你也试试运行看啊大哥 [正文] 昨日修改运行了UDP协议的C/S聊天程序,可是TCP协议的怎么都不行.各种试,各种坑. 做了下面几个修改后,终于可以了: 1.对发送.接收的信息,分别进行编码和解码 2.客户端的第10行bind改为c

  • Python socket C/S结构的聊天室应用实现

    Python socket C/S结构的聊天室应用 服务端: #!/usr/bin/env python #coding:utf8 import socket,select def broadcast_data (sock,message): for socket in conn_list: if socket != server_socket and socket != sock : try : socket.send(message) except : socket.close() conn

  • python3.5实现socket通讯示例(TCP)

    TCP连接: tcp是面向连接的一个协议,意味着,客户端和服务器开发发送数据之前,需要先握手创建一个TCP连接.TCP连接的一端与客户端套接字相互联系,另一端与服务器套接字相联系.当创建该TCP连接的时,我们需要讲客户端与服务器的套接字地址(IP地址和端口号)关联起来.使用创建的TCP连接,当一侧要向另一侧发送数据的时候,它只需要经过其套接字将数据丢给TCP连接,不需要再次附上目的地址. 使用TCP连接的客户-服务器程序: TCPServer.py import socket import so

  • Python采用socket模拟TCP通讯的实现方法

    本文实例讲述了Python采用socket模拟TCP通讯的实现方法.分享给大家供大家参考.具体实现方法如下: 对于TCP server端的创建而言,分为如下几个步骤: 创建socket对象(socket):其中两个参数分别为Address Family(如AF_INET为IPV4,AF_INET6为IPV6,AF_UNIX为UNIX域协议族).socket类型(如SOCK_STREAM为TCP,SOCK_DGRAM为UDP). 绑定服务器地址(bind):参数为服务器地址二元组. 监听(list

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

    本文实例讲述了Python基于Socket实现的简单聊天程序.分享给大家供大家参考,具体如下: 需求:SCIENCE 和MOOD两个人软件专业出身,厌倦了大众化的聊天软件,想着自己开发一款简易的聊天软件,满足他们的个性化需求,又不失"专业水准",Talk is easy, try to code it. 技术:socket,详细可参考前文:Python Socket实现简单TCP Server/client功能 语言:python 尽管socket区分服务器和客户端,但是在聊天程序中两

  • Python基于socket模块实现UDP通信功能示例

    本文实例讲述了Python基于socket模块实现UDP通信功能.分享给大家供大家参考,具体如下: 一 代码 1.接收端 import socket #使用IPV4协议,使用UDP协议传输数据 s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM) #绑定端口和端口号,空字符串表示本机任何可用IP地址 s.bind(('', 5000)) while True: data, addr=s.recvfrom(1024) #显示接收到的内容 print(

  • Python基于opencv实现的简单画板功能示例

    本文实例讲述了Python基于opencv实现的简单画板功能.分享给大家供大家参考,具体如下: import cv2 import numpy as np drawing = False # true if mouse is pressed ix,iy = -1,-1 def nothing(x): pass # mouse callback function def draw_circle(event,x,y,flags,param): global ix,iy,drawing g = par

  • python基于twisted框架编写简单聊天室

    本文实例为大家分享了使用python的twisted框架编写一个简单的聊天室具体代码,供大家参考,具体内容如下 下面是基本架构 代码: # -*- coding:utf-8 -*- from twisted.internet.protocol import Factory from twisted.protocols.basic import LineReceiver from twisted.internet import reactor user = {} class ChatReci(Li

  • Python网络编程基于多线程实现多用户全双工聊天功能示例

    本文实例讲述了Python网络编程基于多线程实现多用户全双工聊天功能.分享给大家供大家参考,具体如下: 在前面一篇<Python网络编程使用select实现socket全双工异步通信功能>中,我们实现了1对1的异步通信,在文章结尾,给出了多对多通信的思路. 既然说了,咱就动手试一试,本次用的是多线程来实现,正好练练手- 首先讲一下思路: 我们将服务器做为中转站来处理信息,一方面与客户端互动,另一方面进行消息转发. 大体思路确定下来后,需要确定一些通信规则: 1. 客户端与服务器建立连接后,需要

  • Python基于Socket实现简单聊天室

    本文实例为大家分享了Python基于Socket实现简单聊天室,供大家参考,具体内容如下 服务端 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2017/7/27 15:34 # @File : Server.py """ 聊天室服务端 """ import socket,select host='' port=7799 addr=(host,port) inputs=[] mem

  • Python基于socket实现简单的即时通讯功能示例

    本文实例讲述了Python基于socket实现简单的即时通讯功能.分享给大家供大家参考,具体如下: 客户端tcpclient.py # -*- coding: utf-8 -*- import socket import threading # 目标地址IP/URL及端口 target_host = "127.0.0.1" target_port = 9999 # 创建一个socket对象 client = socket.socket(socket.AF_INET,socket.SOC

  • 基于Java的Socket多客户端Client-Server聊天程序的实现

    任务要求 编写一个简单的Socket多客户端聊天程序: 客户端程序,从控制台输入字符串,发送到服务器端,并将服务器返回的信息显示出来 服务器端程序,从客户机接收数据并打印,同时将从标准输入获取的信息发送给客户机 满足一个服务器可以服务多个客户 低配版本链接 实现代码 工具类 import java.io.DataOutputStream; import java.io.IOException; import java.io.OutputStream; import java.net.Socket

  • Java实战之基于TCP实现简单聊天程序

    目录 一.如何实现TCP通信 二.编写C/S架构聊天程序 1.编写服务器端程序 - Server.java 2.编写客户端程序 - Client.java 3.测试服务器端与客户端能否通信 4.程序优化思路 - 服务器端采用多线程 一.如何实现TCP通信 要实现TCP通信需要创建一个服务器端程序和一个客户端程序,为了保证数据传输的安全性,首先需要实现服务器端程序,然后在编写客户端程序. 在本机运行服务器端程序,在远程机运行客户端程序 本机的IP地址:192.168.129.222 远程机的IP地

  • Android基于socket实现的简单C/S聊天通信功能

    本文实例讲述了Android基于socket实现的简单C/S聊天通信功能.分享给大家供大家参考,具体如下: 主要想法:在客户端上发送一条信息,在后台开辟一个线程充当服务端,收到消息就立即回馈给客户端. 第一步:创建一个继续Activity的SocketClientActity类,包为com.pku.net 编写布局文件socketclient.xml,代码如下: <?xml version="1.0" encoding="utf-8"?> <Lin

随机推荐