Python编程之socket使用详解

服务端:
#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 not data: break
        #发送一个回复至客户端
        connection.send(Echo=> data)
    #当socket关闭时eof   
    connection.close( )

 
客户端:
import sys
from socket import *
serverHost = localhost
serverPort = 50007

#发送至服务端的默认文本
message = [Hello network world]
#如果参数大于1的话,连结的服务端为第一个参数
if len(sys.argv) > 1:
    serverHost = sys.argv[1]
    #如果参数大于2的话,连结的文字为第二个参数
    if len(sys.argv) > 2:
        message = sys.argv[2:]

#建立一个tcp/ip套接字对象
sockobj = socket(AF_INET, SOCK_STREAM)
#连结至服务器及端口
sockobj.connect((serverHost, serverPort))

for line in message:
    #经过套按字发送line至服务端
    sockobj.send(line)
    #从服务端接收到的数据,上限为1k
    data = sockobj.recv(1024)
    #确认他是引用的,是x
    print Client received:, repr(data)

#关闭套接字
sockobj.close( )

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值