`

socket模块

 
阅读更多

1.socket(family, type)

创建套接字对象,family=socket.AF_INET, type=socket.SOCK_STREAM(TCP)/socket.SOCK_DGRAM(UDP)

 

2.s.bind((host, port))

绑定套接字s以接收来自主机host在端口号port上的连接。host可以是空字符串(''),表示接受来自任何主机的连接。

 

3.s.listen(maxpending)

监听到该套接字的连接尝试,任何时候允许最多maxpending个排队的连接尝试。

 

4.s.accept()

s必须是TCP类型,接收一个连接请求并返回一个数据对(s1, (ipaddress, port))。s1是一个新连接的套接字。调用之前必须已经调用了s.bind和s.listen方法。

 

5.s.recv(bufsize)

从套接字接收最多bufsize个字节的数据,并返回一个由接收的数据组成的字符串。

 

6.s.sendall(string)

在套接字上按字节发送string字符串,该方法将会阻塞,直到所有的字节都被发送。

 

7.s.close()

关闭套接字。

 

8.s.recvfrom(bufsize)

从套接字接收最多bufsize个字节的数据,并返回一个元组(data, (ipaddr, port))。在使用UDP时很有用,可以接收来自多个发送方的数据。

 

9.s.sendto(string, (host,port))

在套接字上将string字符串按照字节发送到目的host和port上,并返回发送的字节数n。对UDP很有用,可以将数据发送到多个目的地。

 

10. s.connect((host, port))

将套接字s连接到给定host和port指定的服务器上。

 

TCPServer:

 

# _*_ coding:utf-8 _*-
import socket

if __name__ == "__main__":
    ser_soc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    ser_soc.bind(('',8881))
    ser_soc.listen(5)

    try:
        while True:
            new_soc, address = ser_soc.accept()
            print "Connected from", address
            while True:
                receivedData = new_soc.recv(1024)
                if not receivedData:
                    break
                new_soc.sendall(receivedData)
            new_soc.close()
            print "Disconnected from", address
    finally:
        ser_soc.close()

 

 

TCPClient:

 

# _*_ coding:utf-8 _*_
import socket

if __name__ == "__main__":
    soc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    soc.connect(('localhost',8881))
    print "Connected to server"
    data = '''Hi,Tim.
    I'm a programmer.
    Googbye.'''
    for line in data.splitlines():
        soc.sendall(line)
        print 'Send:',line
        response = soc.recv(1024)
        print 'Received:',response
    soc.close()

 

 

UDPServer:

 

# _*_ coding:utf-8 _*_
import socket

if __name__ == "__main__":
    sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    sock.bind(('',8881))
    try:
        while True:
            data, address = sock.recvfrom(1024)
            print "Datagram from:", address
            sock.sendto(data,address)
    finally:
        sock.close()

 

 

UDPClient:

 

# _*_ coding:utf-8 _*_
import socket

if __name__ == "__main__":
    sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    data = '''Hi,Tim.
    I'm a programmer.
    Googbye.'''
    for line in data.splitlines():
        sock.sendto(line,('localhost',8881))
        print "Send:",line
        response = sock.recv(1024)
        print "Received:",response
    sock.close()
 

 

分享到:
评论

相关推荐

    浅谈PHP的Socket模块

    一直以来很少看到有多少人使用php的socket模块来做一些事情,大概大家都把它定位在脚本语言的范畴内吧,但是其实php的socket模块可以做很多事情,包括做ftplist,http post提交,smtp提交,组包并进行特殊报文的交互...

    c# socket模块

    C#中的Socket模块是.NET Framework提供的网络通信基础组件,它基于TCP/IP协议栈,用于实现应用程序与网络之间的数据传输。TCP Socket(传输控制协议的套接字)是一种面向连接的、可靠的、基于字节流的通信协议。在这...

    课程作业基于socket模块实现的一个FTP工具python源码.zip

    课程作业基于socket模块实现的一个FTP工具python源码.zip课程作业基于socket模块实现的一个FTP工具python源码.zip课程作业基于socket模块实现的一个FTP工具python源码.zip课程作业基于socket模块实现的一个FTP工具...

    HP_Socket 5.71 模块+源码.rar

    源码部分是学习和理解HP_Socket模块工作原理的关键。通过阅读和分析源码,开发者可以了解到每个函数的具体实现,如何处理网络事件,以及如何优化性能。同时,源码也是学习易语言编程技巧的好材料,可以看到如何使用...

    易语言SSL_Socket通信模块源码

    在易语言中,SSL_Socket模块就是对这一协议的封装,使得开发者可以方便地在易语言程序中实现安全的网络通信。 二、模块结构 易语言SSL_Socket通信模块包含以下几个关键类: 1. 类_客户端_SSL:该类是客户端通信的...

    Python socket模块方法实现详解

    在Python编程中,socket模块是用于网络通信的基础工具,它允许程序创建和使用低级别的网络连接。本文将深入探讨Python socket模块的方法实现,以及如何通过示例代码来理解和应用这些方法。 首先,让我们了解Python ...

    Python Socket模块实现服务端与客户端通信

    Python Socket模块是网络编程的基础,它提供了低级别的、原始的TCP/IP套接字接口,用于在客户端和服务器之间建立通信。Socket模块使得Python程序员能够轻松地处理网络通信,包括创建和管理TCP、UDP等不同协议的连接...

    python进阶之socket模块详解.pdf

    Python的socket模块是进行网络通信的基础,它提供了一种接口,让程序员能够编写跨平台的TCP/IP协议的应用程序。在Python中,socket模块主要用于实现进程间的网络通信,它基于BSD UNIX的socket API,使得开发者可以...

    FreeSwitch的event_socket模块分析

    FreeSwitch的mod_event_socket模块是其核心组件之一,它提供了通过socket进行远程控制FreeSwitch的能力。这个模块使得管理员或者第三方应用程序能够与FreeSwitch交互,执行API命令,接收和发送事件,进行日志记录...

    据传是盛大的Socket模块源代码

    Socket模块在IT行业中是网络编程的核心部分,它允许应用程序通过Internet进行通信,实现了不同设备间的数据传输。在本文中,我们将深入探讨“盛大的Socket模块源代码”可能涉及的关键知识点,以及Socket编程的一般...

    Python基于socket模块实现UDP通信功能示例

    本文实例讲述了Python基于socket模块实现UDP通信功能。分享给大家供大家参考,具体如下: 一 代码 1、接收端 import socket #使用IPV4协议,使用UDP协议传输数据 s=socket.socket(socket.AF_INET, socket.SOCK_...

    python-socket.zip

    Python的socket模块是进行网络通信的基础,它提供了一种低级别的、原始的TCP/IP套接字接口。在本示例中,“python-socket.zip”包含了一个实现简单天气查询和电话归属地查询的服务端与客户端应用。这个应用展示了...

    Python网络编程探索:深入`socket`模块的应用

    Python的socket模块提供了一套简单的API来实现网络通信,允许程序员创建客户端和服务器应用程序。本文将详细介绍如何在Python中使用socket模块进行网络编程,包括创建套接字、连接服务、数据传输和错误处理。 通过...

    使用python3 socket模块编写TCP文件下载程序

    在Python编程中,Socket模块是用于网络通信的基础组件,它提供了低级别的接口,允许程序员创建自己的网络协议。在这个场景中,我们使用Python3的Socket模块来编写一个TCP文件下载程序,涉及的知识点主要包括: 1. *...

    Python的socket模块源码中的一些实现要点分析

    Python的socket模块是进行网络通信的基础,它提供了创建和管理套接字的接口,使得开发者能够轻松地构建服务器和客户端程序。在深入源码之前,我们需要理解基础的socket概念,如TCP/IP协议、套接字(socket)以及...

    【python】基于socket模块的局域网视频传输及目标检测代码

    利用socket模块传输图像数据,实现视频在设备间的实时传输,并且检测相应目标并显示位置。可以用于将树莓派的摄像头捕捉的图像传输给同一局域网内的上位机这一场景,也可以用于两个电脑间的视频传输。

    利用HP_Socket模块的C/S结构完整客户管理系统-易语言

    【标题】"利用HP_Socket模块的C/S结构完整客户管理系统-易语言"涉及的核心知识点是基于易语言的客户服务器(C/S)架构系统开发,其中HP_Socket模块扮演了关键角色。易语言是一种中国本土的编程语言,以其简单易学、...

    socket 模块

    简化socket使用

    Python socket模块ftp传输文件过程解析

    Python的socket模块是网络编程的基础,它提供了低级别的、原始的套接字接口,用于创建TCP/IP、UDP/IP等协议的网络连接。FTP(File Transfer Protocol)是一种用于在网络上进行文件传输的标准协议。在这个场景中,...

Global site tag (gtag.js) - Google Analytics