700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 好玩的python代码聊天客户端_python socket实现客户端与服务器端对话

好玩的python代码聊天客户端_python socket实现客户端与服务器端对话

时间:2024-02-18 16:41:44

相关推荐

好玩的python代码聊天客户端_python socket实现客户端与服务器端对话

最近巩固下python语言,说真的,使用了这么多脚本语言,还是这门比较好玩点,快速,简洁,容易上手更不用说了。

socket 套接字是为特定网络协议(例如TCP/IP,ICMP/IP,UDP/IP等)套件对上的网络应用程序提供者提供当前可移植标准的对象。socket是允许发送和接受数据。建立通信通道,网络通信的每个端点拥有一个套接字对象为前提。

以下写的代码还是不够完美,哪位高手路过的,请多指点,上代码...............

1 服务器端[root@localhost ~]# cat server.py

#coding:utf8

import time

import sys

import socket

import select

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

server.bind(('127.0.0.1',8989))#绑定IP和端口

server.listen(10) #侦听

input = [server,sys.stdin]#sys.stdin是标准输入,从键盘输入

print '请等待连接,亲!耐心点......'

client,address = server.accept()#获取到客户和IP地址

print "连接的是:",address

input.append(client)#添加客户端到imput列表

Ture = 1#定义一个死循环

while Ture:

print"请输入聊天的话题,亲>>>>>:"

input_data,out_data,except_data = select.select(input,[],[])#利用select对所有输入的数据进行监视

for receive_data in input_data:#这里就是循环输入,但这里要有两种方式

if receive_data == sys.stdin: #这个是处理标准输入,也就是服务器的使用键盘输入

data = raw_input()

if data == '^c':

running = 0

client.send(data) #发送到客户端

client.close()

break

client.send("发送时间: %s:\n%s"%(time.ctime(),data))

else:#这个就是接收socket的输入

data = receive_data.recv(1024)

print "",data

server.close()

2 客户端

[root@localhost ~]# cat clien.py

#coding:utf8

import time

import sys

import select

import socket

address = ('127.0.0.1',8989)

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

client.connect(address)

input = [client,sys.stdin]

Ture = 1

while Ture:

print '请输入聊天的话题,亲>>>>>:'

input_data,oupt_data,except_data = select.select(input,[],[])

for receive_data in input_data:

if receive_data == client:

data = client.recv(1024)

if data == '^c':

running = 0

print 'server exist'

receive_data.close()

print 'client is over'

break

print "",data

else:

client_data = raw_input()

client.send("发送时间: %s:\n%s"%(time.ctime(),client_data))

client.close()

3 测试!!!

服务器端执行:

[root@localhost ~]# python server.py

请等待连接,亲!耐心点......

客户端执行:

[root@localhost ~]# python clien.py

请输入聊天的话题,亲>>>>>:

4 服务器端和客户端聊天对话测试:

客户端发起对话连接:

[root@localhost ~]# python clien.py

请输入聊天的话题,亲>>>>>:

测试socket功能是否正常使用,请回答?

请输入聊天的话题,亲>>>>>:

服务器端口接收信息:

[root@localhost ~]# python server.py

请等待连接,亲!耐心点......

连接的是: ('127.0.0.1', 33371)

请输入聊天的话题,亲>>>>>:

发送时间: Wed Jul 24 09:13:48 :

测试socket功能是否正常使用,请回答?

请输入聊天的话题,亲>>>>>:

服务器端发送信息:

[root@localhost ~]# python server.py

请等待连接,亲!耐心点......

连接的是: ('127.0.0.1', 33371)

请输入聊天的话题,亲>>>>>:

发送时间: Wed Jul 24 09:13:48 :

测试socket功能是否正常使用,请回答?

请输入聊天的话题,亲>>>>>:

测试是成功的,不过代码还是得优化,功能还需要添加,收到没?

请输入聊天的话题,亲>>>>>:

客户端接收信息:

[root@localhost ~]# python clien.py

请输入聊天的话题,亲>>>>>:

测试socket功能是否正常使用,请回答?

请输入聊天的话题,亲>>>>>:

发送时间: Wed Jul 24 09:21:15 :

测试是成功的,不过代码还是得优化,功能还需要添加,收到没?

请输入聊天的话题,亲>>>>>:

由于本人水平有限,代码写的不是很完美,下次有时间写一个像QQ界面的通讯软件.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。