python socket实现客户端与服务器端对话
2013-07-24 09:42
344 查看
最近巩固下python语言,说真的,使用了这么多脚本语言,还是这门比较好玩点,快速,简洁,容易上手更不用说了。
socket 套接字是为特定网络协议(例如TCP/IP,ICMP/IP,UDP/IP等)套件对上的网络应用程序提供者提供当前可移植标准的对象。socket是允许发送和接受数据。建立通信通道,网络通信的每个端点拥有一个套接字对象为前提。
python socket 这就是python的一个模块,至于怎么使用这个模块,大家可以查看 以下的网址,里面的python资料都很全的。http://docs.python.org/2/library/socket.html(英文的,不过大家可以大概看下,然后看实例就懂得了,很容易)
以下写的代码还是不够完美,哪位高手路过的,请多指点,上代码...............
1 服务器端
2 客户端
3 测试!!!
服务器端执行:
客户端执行:
4 服务器端和客户端聊天对话测试:
由于本人水平有限,代码写的不是很完美,下次有时间写一个像QQ界面的通讯软件.
本文出自 “游造技术博客” 博客,谢绝转载!
socket 套接字是为特定网络协议(例如TCP/IP,ICMP/IP,UDP/IP等)套件对上的网络应用程序提供者提供当前可移植标准的对象。socket是允许发送和接受数据。建立通信通道,网络通信的每个端点拥有一个套接字对象为前提。
python socket 这就是python的一个模块,至于怎么使用这个模块,大家可以查看 以下的网址,里面的python资料都很全的。http://docs.python.org/2/library/socket.html(英文的,不过大家可以大概看下,然后看实例就懂得了,很容易)
以下写的代码还是不够完美,哪位高手路过的,请多指点,上代码...............
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 2013:
测试socket功能是否正常使用,请回答?
请输入聊天的话题,亲>>>>>:
服务器端发送信息:
[root@localhost ~]# python server.py 请等待连接,亲!耐心点......
连接的是: ('127.0.0.1', 33371)
请输入聊天的话题,亲>>>>>:
<客户端发送的信息> 发送时间: Wed Jul 24 09:13:48 2013:
测试socket功能是否正常使用,请回答?
请输入聊天的话题,亲>>>>>:
测试是成功的,不过代码还是得优化,功能还需要添加,收到没?
请输入聊天的话题,亲>>>>>:
客户端接收信息:
[root@localhost ~]# python clien.py 请输入聊天的话题,亲>>>>>:
测试socket功能是否正常使用,请回答?
请输入聊天的话题,亲>>>>>:
<服务器发送的信息> 发送时间: Wed Jul 24 09:21:15 2013:
测试是成功的,不过代码还是得优化,功能还需要添加,收到没?
请输入聊天的话题,亲>>>>>:
由于本人水平有限,代码写的不是很完美,下次有时间写一个像QQ界面的通讯软件.
本文出自 “游造技术博客” 博客,谢绝转载!
相关文章推荐
- 用socketchannel实现多客户端与服务器端的通信
- python socket 实现服务器/客户端通信
- Python socket 客户端和服务器端
- android端和pc端使用usb进行socket通信,其中android是服务器端,pc是客户端。如何实现安卓端输入的数据通过按钮发送到pc端?
- Python socket实现文件传输的服务端与客户端
- 利用Python中SocketServer 实现客户端与服务器间非阻塞通信
- Java中使用Socket实现服务器端和客户端通讯
- Android 使用socket 实现简单的客户端和服务器端互相通信
- python之SocketServer服务器端和客户端
- linux socket实现网络聊天室(一):服务器和客户端对话
- Python实现套接字(Socket)的客户端(Client)
- ServerSocket套接字实现服务器端和Socket套接字实现客户端
- 2 Python 利用socket实现的服务端和客户端
- Android中使用Socket来实现服务器端和客户端,进行数据通信(使用原生Socket)
- Python socket上传文件的服务端和客户端实现
- 简单实现python socket 服务器客户端
- 用Socket实现客户端和服务器端通信(完整版)
- python实现socket客户端和服务端简单示例
- socket网络编程实现文件从服务器端到客户端的传输
- 基于C#的socket编程的TCP异步实现 ,包含服务器端与客户端源代码