python socket模块

  1.socket参数

socket.socket(family=AF_INET,type=SOCK_STREAM,proto=0,fileno=None)

familt:
    AF_INET:网络文件套接字,默认
    AF_UNIX:本地文件套接字
type:
    SOCK_STREAM:TCP协议,默认
    SOCK_DGRAM:UDP协议
proto:通常为0
fileno:通常为None

  2.TCPsocket常用方法

TCP

socket

client

server

实例化

sk = socket.socket()

sk = socket.socket()

绑定地址
开启监听

/

sk.bind(('127.0.0.1',8888))
sk.listen()

连接地址

sk.connect(('127.0.0.1',8888))

/

接收请求

/

conn,addr = sk.accept()

发送消息

sk.send('hello!'.encode('utf-8'))

conn.send('hi'.encode('utf-8'))  

接收消息

ret = sk.recv(1024)

ret = conn.recv(1024)

关闭client

/

conn.close()

关闭server

sk.close()

sk.close()

   3.UDPsocket常用方法

UDPsocket

client

server

实例化

sk = socket.socket(type=socket.SOCK_DGRAM)

sk = socket.socket(type=socket.SOCK_DGRAM)

绑定地址

/

sk.bind(('127.0.0.1',8888))

接收消息

message,ip = sk.recvfrom(1024)

message,ip = sk.recvfrom(1024)

发送消息

sk.sendto(str,ip)

sk.sendto(str,ip)

断开连接

sk.close()

sk.close()

  2.基于TCP协议的服务端和客户端

#服务端
import socket
sk = socket.socket()
sk.bind(('127.0.0.1',8888))  #把地址绑定到套接字,IP为字符串,端口为数字
sk.listen()          #监听此连接
conn,addr = sk.accept() #接受客户端链接
ret = conn.recv(1024)  #接收客户端信息,指定接收的字节
print(ret)       #打印客户端发来的信息
conn.send('hi'.encode('utf-8'))        #向客户端发送信息,编码为字节形式
conn.close()       #关闭客户端套接字
sk.close()        #关闭服务器套接字(可选)

#客户端
import socket
sk = socket.socket()           # 创建客户套接字
sk.connect(('127.0.0.1',8898))    # 尝试连接服务器
sk.send('hello!'.encode('utf-8'))   #发送消息,以字节形式发送
ret = sk.recv(1024)         # 接收回信
print(ret)
sk.close()  

  

转载于:https://www.cnblogs.com/forlive/p/11542282.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值