一个简单的客户端-服务器模型
2015-02-13 09:38
246 查看
这是一个简单的服务器-客户端模型的python代码
客户端输入一个字符串,之后服务器在此字符串前后加@@@后,再返回给客户端
************************************************************************************
#客户端
import socket
IP='127.0.0.1'
PORT=8321
try:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
#建立套接字
except socket.error:
print 'Failed to create socket'
s.connect((IP , PORT)) #任意端口,确保和服务器的监听端口一致
string=raw_input('entry your message\n') #输入要加工的字符串
try :
s.sendall(string) #向服务器主机发送字符串
except socket.error:
print 'Send failed'
reply = s.recv(1000) #接收服务器发送回的信息
print reply
*******************************************************************************
#服务器
import socket
HOST = ''
PORT = 8321
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #建立套接字
try:
s.bind((HOST, PORT)) #将套接字bind到特定的地址和端口
except:
print 'Bind failed.'
s.listen(5) #对套接字绑定的端口进行监听,5为接受客户端请求的connect的最大数
while 1:
connect,addr= s.accept() #接收客户端请求的connect
print 'Connected with ' + addr[0] + ':' + str(addr[1])
try:
data= connect.recv(1000) #接收客户端发来的数据
except:
print 'No recive'
if data=='exit':
break
result = '@@@'+data+'@@@'
connect.sendall(result) #向客户端发送数据处理的结果
connect.close() #关闭connect
s.close() #关闭套接字
客户端输入一个字符串,之后服务器在此字符串前后加@@@后,再返回给客户端
************************************************************************************
#客户端
import socket
IP='127.0.0.1'
PORT=8321
try:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
#建立套接字
except socket.error:
print 'Failed to create socket'
s.connect((IP , PORT)) #任意端口,确保和服务器的监听端口一致
string=raw_input('entry your message\n') #输入要加工的字符串
try :
s.sendall(string) #向服务器主机发送字符串
except socket.error:
print 'Send failed'
reply = s.recv(1000) #接收服务器发送回的信息
print reply
*******************************************************************************
#服务器
import socket
HOST = ''
PORT = 8321
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #建立套接字
try:
s.bind((HOST, PORT)) #将套接字bind到特定的地址和端口
except:
print 'Bind failed.'
s.listen(5) #对套接字绑定的端口进行监听,5为接受客户端请求的connect的最大数
while 1:
connect,addr= s.accept() #接收客户端请求的connect
print 'Connected with ' + addr[0] + ':' + str(addr[1])
try:
data= connect.recv(1000) #接收客户端发来的数据
except:
print 'No recive'
if data=='exit':
break
result = '@@@'+data+'@@@'
connect.sendall(result) #向客户端发送数据处理的结果
connect.close() #关闭connect
s.close() #关闭套接字
相关文章推荐
- 一个简单的IOCP(IO完成端口)服务器/客户端类(1/2)
- 一个简单的IOCP(IO完成端口)服务器/客户端类
- 一个简单地应用--从客户端向服务器发送数据.post,get.httpclientget,httpclinetpost,文件上传.
- “TCP:三次握手”分析——以一个简单的“服务器”和“客户端”为例
- 用C++写一个简单的服务器和客户端
- 使用Select I/O模型来实现一个并发处理多个客户端的TCP服务器
- 一个简单的IOCP(IO完成端口)服务器/客户端类(2/2)
- I/O模型和原理,以及简单解析客户端请求WEB服务器内部处理过程,MPM三种模
- 一个简单的TCP服务器与客户端示例
- ACE+线程池实现一个简单的服务器+多客户端通信程序
- Select I/O模型来实现一个并发处理多个客户端的TCP服务器 <转>
- ROS的学习(十六)用C++写一个简单的服务器(service)和客户端(client)
- 一个简单的服务器和客户端的心跳程序
- 【实验 1-1】编写一个简单的 TCP 服务器和 TCP 客户端程序。程序均为控制台程序窗口。
- 一个简单的dbus服务器及其客户端
- Nodejs实现的一个简单udp广播服务器、客户端
- 使用jrtplib写的一个简单服务器和客户端程序
- 用Java实现一个简单的服务器与客户端程序
- 基于select模型的tcp服务器------一个服务器如何与多个客户端进行通信?
- 一个简单的IOCP(IO完成端口)服务器/客户端类(1/2)