Python中的socket

socket()模块函数用法

import socket
socket.socket(socket_family,socket_type,protocal=0)
socket_family 可以是 AF_UNIX 或 AF_INET。socket_type 可以是 SOCK_STREAM 或 SOCK_DGRAM。protocol 一般不填,默认值为 0。

获取tcp/ip套接字
tcpSock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

获取udp/ip套接字
udpSock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

由于 socket 模块中有太多的属性。我们在这里破例使用了‘from module import *‘语句。使用 ‘from socket import *‘,我们就把 socket 模块里的所有属性都带到我们的命名空间里了,这样能 大幅减短我们的代码。
例如tcpSock = socket(AF_INET, SOCK_STREAM)

socket通信流程与打电话流程类似,我们就以打电话为例来实现一个low版的套接字通信

服务端:

import socket

#1、买手机
phone=socket.socket(socket.AF_INET,socket.SOCK_STREAM) #tcp称为流式协议,udp称为数据报协议SOCK_DGRAM
# print(phone)

#2、插入/绑定手机卡
# phone.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
phone.bind((‘127.0.0.1‘,8082))

#3、开机
phone.listen(5) # 半连接池,限制的是请求数

#4、等待电话连接
print(‘start....‘)
conn,client_addr=phone.accept() #(三次握手建立的双向连接,(客户端的ip,端口))
# print(conn)
print(client_addr)

#5、通信:收\发消息
while True: # 通信循环
    data=conn.recv(1024) #最大接收的字节数
    print(‘来自客户端的数据‘,data)
    conn.send(data.upper())

#6、挂掉电话连接
conn.close()

#7、关机
phone.close()

客户端:

import socket

#1、买手机
phone=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
print(phone)
#2、拨电话
phone.connect((‘192.168.13.45‘,8080)) # 指定服务端ip和端口

#3、通信:发\收消息
while True:
    msg=input(‘>>>:‘).strip()
    phone.send(msg.encode(‘utf-8‘))
    # phone.send(bytes(‘hello‘,encoding=‘utf-8‘))
    data=phone.recv(1024)
    print(data)

#4、关闭
phone.close()

原文地址:https://www.cnblogs.com/huyingsakai/p/9275616.html

时间: 2024-10-06 16:47:34

Python中的socket的相关文章

python 中的socket

python中利用socket模块来实现对各种底层通讯的封装,支持tcp/udp协议,为编制c/s类的程序提供了便利. 最常见的用法: 如ftp_server: 1 import socketserver 2 class Mysocketserver(socketserver.BaseRequestHandler): 3 def handle(self): 4 while True: 5 try: 6 self.data=self.request.recv(1024).strip() 7 pri

Python中的socket如何使用?

本文和大家分享的主要是python 中socket相关内容,一起来看看吧,希望对大家 学习python有所帮助. 一. socket模块 socket ,俗称套接字,其实就是一个 ip 地址和端口的组合.类似于这样的形式 (ip,  port), 其中 ip 代表的是某个主机, port 代表的是某个应用,我们可以通过 socket 和另外的一台主机进行通信. 关于socket 源码的解析在 tarnado 系列文章中,正在写中..... 1. 通信的方式 tcp 通信 udp 通信 基于uni

python进阶---Python中的socket编程(一)

初识socket编程 一.前言 socket基于C\S架构(客户端\服务端)的编程模型,在Python中是以socket模块存在的. Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口.在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议. 所以,我们无需深入理解tcp/udp协议,socket已经为我们封装好了,我们只需要遵循socket的规

Python中的socket 模块

Python 提供了两个基本的 socket 模块.第一个是 Socket,它提供了标准的 BSD Sockets API.第二个是 SocketServer, 它提供了服务器中心类,可以简化网络服务器的开发. 下面先讲的是Socket模块功能 1.Socket 类型 套接字格式: socket(family,type[,protocal]) 使用给定的地址族.套接字类型.协议编号(默认为0)来创建套接字.socket类型描述socket.AF_UNIX只能够用于单一的Unix系统进程间通信so

Python 中的 socket 模块

本文参考PYTHON 网络编程 第一章 import sockethelp(socket) Functions:    socket() -- create a new socket object    socketpair() -- create a pair of new socket objects [*]    fromfd() -- create a socket object from an open file descriptor [*]    gethostname() -- r

python中的socket通信

协议的概念 不同的国家说不同的语言人门想沟通就需要用英语,只要有一种大家都认可都遵守的协议即可,这种方式在计算机上要遵守的网络通信协议叫做TCP/IP协议早期的计算机网络,都是由各厂商自己规定一套协议,IBM.Apple和Microsoft都有各自的网络协议,互不兼容为了把全世界的所有不同类型的计算机都连接起来,就必须规定一套全球通用的协议,为了实现互联网这个目标,互联网协议簇(Internet Protocol Suite)就是通用协议标准.因为互联网协议包含了上百种协议标准,但是最重要的两个

Python中的socket模块

Python网络编程离不开socket模块 1. socket模块的简单使用,以开发一个简单的命令行工具为例,如下 1.1 socket client 端代码 1 # -*- coding:utf-8 -*- 2 # Author:Wong Du 3 4 import socket 5 6 # 创建一个socket对象 7 client = socket.socket() 8 # 与服务器端建立连接 9 client.connect( ('localhost', 9494) ) 10 11 12

python中的socket编程

#################socket###################### socket编程 Socket 是网络编程的一个抽象概念.通常我们用一个 Socket 表示"打开了一个网络链接",而打开一个 Socket 需要知道目标计算机的 IP地址和端口号,再指定协议类型即可. 服务端操作: import time import socket s=socket.socket() s.bind(('127.0.0.1',8888)) s.listen(5) print '

python 中socket.error: [Errno 10022]

在用python中的socket模块进行udp变成时 , 一直出现这个错误 下面先把错误代码贴出来 server: import socket import random,time s = socket.socket(socket.AF_INET , socket.SOCK_DGRAM) host = '127.0.0.1' port = 21567 addr = (host , port) if __name__ == '__main__': s.bind(addr) while True: