关闭

[python&php 网络编程]设定并获取socket超时时间

2245人阅读 评论(0) 收藏 举报
分类:

1.python写法

import socket

def test_socket_timeout():
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    print "Default socket timeout: %s" %s.gettimeout()
    s.settimeout(100)
    print "Current socket timeout: %s" %s.gettimeout()
    
if __name__ == '__main__':
    #针对单个socket实例的超时
    test_socket_timeout()

2.php写法

<?php
function test_socket_timeout(){
    $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
    $res = socket_get_option($socket, SOL_SOCKET, SO_RCVTIMEO);
    printf("Default socket timeout: %s\n", $res['sec']);

    $timeout = array('sec'=>100,'usec'=>0);
    socket_set_option($socket,SOL_SOCKET,SO_RCVTIMEO,$timeout);
    $res = socket_get_option($socket,SOL_SOCKET,SO_RCVTIMEO);
    printf("Default socket timeout: %s\n", $res['sec']);
}

test_socket_timeout();

php的代码量还是会比较多点,python直接import socket库就行了,php要使用socket必须安装并开启socket扩展

socket的超时时间有发送超时和接受超时 两个默认是60秒 在php.ini里面可以设置 但这里我们主要针对单个socket实例
php 设置和获取socket参数主要使用socket_set_option和socket_get_option两个函数
http://php.net/manual/zh/function.socket-set-option.php
http://php.net/manual/zh/function.socket-get-option.php


转载请标注原文地址:http://blog.csdn.net/ddjohn/article/details/49946671

0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:261565次
    • 积分:4354
    • 等级:
    • 排名:第6866名
    • 原创:137篇
    • 转载:25篇
    • 译文:42篇
    • 评论:23条
    博客专栏
    文章分类
    最新评论