Python简单实现服务器与客户端通讯

上一篇 / 下一篇  2014-07-25 11:30:26 / 个人分类:python

Python简单实现服务器与客户端通讯

##################服务器端##################

 

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

#socket server

#获取socket构造及常量

from socket import *

#''代表服务器为localhost

myHost = ''

#在一个非保留端口号上进行监听

myPort = 50007

 

#设置一个TCP socket对象

sockobj = socket(AF_INET, SOCK_STREAM)

#绑定它至端口号

sockobj.bind((myHost, myPort))

#监听,允许5个连结

sockobj.listen(5)

 

#直到进程结束时才结束循环

while True:

    #等待下一个客户端连结

    connection, address = sockobj.accept()

    #连结是一个新的socket

    print 'Server connected by', address

    while True:

        #读取客户端套接字的下一行

        data = connection.recv(1024)

        #输出接收信息

        if data!='':

            print 'Receive:',data

        else:

            print 'Receive end!'

        #如果没有数量的话,那么跳出循环

        if not data: break

        #发送一个回复至客户端

        connection.send('Echo=>' + data)

    #当socket关闭时eof

    connection.close()

 

 

##################客户端##################

 

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

#socket client端

from socket import *

serverHost = 'localhost'

serverPort = 50007

 

#建立一个tcp/ip套接字对象

sockobj = socket(AF_INET, SOCK_STREAM)

#连结至服务器及端口

sockobj.connect((serverHost, serverPort))

 

message=raw_input('Message:')

 

while message!='':

    #经过套按字发送line至服务端

    sockobj.send(message)

    #从服务端接收到的数据,上限为1k

    data = sockobj.recv(1024)

    #确认他是引用的,是'x'

    print 'Client received:', repr(data)

    message=raw_input('Message:')

 

#关闭套接字

sockobj.close( )


TAG: python socket

 

评分:0

我来说两句

日历

« 2024-03-27  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 36983
  • 日志数: 28
  • 建立时间: 2014-07-17
  • 更新时间: 2015-03-19

RSS订阅

Open Toolbar