文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Python网络编程基础笔记-服务器与客户端

Python网络编程基础笔记-服务器与客户端

时间:2007-10-27  来源:jcodeer

1.服务器程序,接收来自客户端的请求,并将客户端的IP和Port打印出来

"""
服务器程序:
接收客户端输入的字符串,并将字符串的长度回显给客户端
"""
import socket

port = 5555
# 监听来自任何客户端的请求
host = ""

s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind((host,port))
# 只接受1个客户端的请求,如果有更多的请求,则处于等待状态
s.listen(1)

print "Server is running on port %d,press CTRL-C to terminate" % port

end = 1
while end:
    # 如果有客户端请求,accept返回一个socket和客户端address
    clientsocket,clientaddr = s.accept()
    print str(clientaddr)
    # 使用文件方式
    clientfile = clientsocket.makefile("rw",0)
    line = clientfile.readline().strip()
    clientfile.write("Welcome," + str(clientaddr) + "\n")
    # 如果输入空字符串则服务程序退出
    if len(line) == 0:end = 0
    # 文件必须关闭,socket.close不会负责关闭创建的文件
    clientfile.close()
    clientsocket.close()


2.客户端程序。向服务器发送字符串,并显示服务器返回的字串。

# -*- coding: cp936 -*-
"""
客户端程序:
向BasicServer发送字符串,
"""
import socket

port = 5555
host = "localhost"

s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect((host,port))
# 绑定socket与fd
fd = s.makefile("rw",0)
fd.write("hello I am BasicClient" + "\r\n")
while 1:
    buf = fd.readline()
    if not len(buf):
        break
    print buf
fd.close()
s.close()

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载