TCP/IP网络编程之socket通信
作者:佚名
上传时间:2023-03-14
运行软件:Python
软件版本:Python 3.7
版权申诉
简介
TCP/IP socket编程是计算机网络编程中最基础的一种,也是网络编程必修的一门课程。本文将介绍socket通信的基础知识,示例代码以及代码释义。
socket通信
定义
socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,socket使用了门面模式,它把复杂的TCP/IP协议族隐藏在socket接口后面,对用户来说只需要调用socket接口,socket帮我们打包数据,然后通过TCP/IP协议族进行通信。
分类
根据传输层协议的不同,socket可以分为两种:TCP socket和UDP socket。TCP socket是面向连接的socket,提供可靠的数据传输服务;UDP socket是无连接的socket,不提供可靠的数据传输服务。
示例代码
TCP socket
以下是一个简单的TCP socket通信的代码示例:
import socket
# 创建socket对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 获取本地主机名
host = socket.gethostname()
# 设置端口号
port = 9999
# 绑定端口号
server_socket.bind((host, port))
# 设置最大连接数,超过后排队
server_socket.listen(5)
while True:
# 建立客户端连接
client_socket, addr = server_socket.accept()
print("连接地址:%s" % str(addr))
msg = "欢迎访问菜鸟教程!" + "\r\n"
client_socket.send(msg.encode('utf-8'))
# 关闭连接
client_socket.close()
UDP socket
以下是一个简单的UDP socket通信的代码示例:
import socket
# 创建socket对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 获取本地主机名
host = socket.gethostname()
# 设置端口号
port = 9999
# 绑定端口号
server_socket.bind((host, port))
while True:
# 接收客户端数据
data, addr = server_socket.recvfrom(1024)
print("接收到的数据:%s" % data.decode('utf-8'))
# 发送数据到客户端
server_socket.sendto("欢迎访问菜鸟教程!".encode('utf-8'), addr)
创建socket对象
socket.socket(socket.AF_INET, socket.SOCK_STREAM)
AF_INET表示IPv4地址族,SOCK_STREAM表示TCP连接。
socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
SOCK_DGRAM表示UDP连接。
绑定端口号
server_socket.bind((host, port))
绑定端口号,host是指主机名,port是指端口号。
监听连接
server_socket.listen(5)
设置最大连接数,超过后排队。
建立连接
client_socket, addr = server_socket.accept()
建立客户端连接,addr是连接客户端的地址。
发送数据
client_socket.send(msg.encode('utf-8'))
发送数据到客户端。
server_socket.sendto("欢迎访问菜鸟教程!".encode('utf-8'), addr)
发送数据到客户端,addr是客户端的地址。
接收数据
data, addr = server_socket.recvfrom(1024)
接收客户端发送的数据,1024是接收的缓冲区大小。
本文介绍了TCP/IP socket编程中的socket通信基础知识,示例代码以及代码释义。socket通信是网络编程中必不可少的一部分,掌握socket通信对于网络编程的学习和应用都非常有帮助。
免责申明:文章和图片全部来源于公开网络,如有侵权,请通知删除 server@dude6.com
用户评论
相关推荐
TCP/IP网络编程之socket通信
简介TCP/IP socket编程是计算机网络编程中最基础的一种,也是网络编程必修的一门课程。本文将介绍socket通信的基础知识,示例代码以及代码释义。socket通信定义socket是应用
Python 3.7
Python
2023-03-14 09:07
TCP/IP网络编程实现Socket通信
本文将介绍如何使用TCP/IP协议进行Socket编程,实现网络通信。我们将使用Java程序设计,提供示例代码并对代码进行释义。最后,我们会对本文进行总结。TCP/IP协议TCP/IP协议是一组用
JDK 14
Java
2023-04-01 12:49
java Socket Tcp Ip通信
java Socket Tcp/Ip通信示例demo,主要用于物联网
ZIP
0B
2019-04-14 09:02
Delphi编写TCP IP网络Socket通信程序
本例子就是Delphi中如何利用Socket编写通信程序。 计算机网络是由一系列网络通信协议组成的,其中的核心协议是传输层的TCP/IP和UDP协议。TCP是面向连接的,通信双方保持一条通路,好比目前
rar
0B
2018-12-09 09:18
TCP IP SOCKET网络编程
TCP/IP SOCKET 网络编程 多模式I/O网络开发
PPT
1.34MB
2020-09-19 14:42
C语言TCP IP网络socket通信源码
C语言TCP/IP网络socket通信源码,非常有用。
RAR
0B
2019-05-17 02:09
socket tcp ip多线程通信
c#开发的资源提供了多线程通信机制。适合出学者使用。客户端发布信息。服务器端可接收。而且使用了一定的命令。代码非常全
RAR
0B
2019-07-06 17:15
使用Python socket实现TCP/IP网络通信
本示例代码使用Python socket模块实现TCP/IP网络通信,实现了服务器接收客户端消息,返回相应消息的功能。import socket# 创建TCP socket对象server_s
Python 3.7.3
PyCharm
2023-04-25 10:06
Socket网络通信TCP
基于TCP协议的Socket网络通信代码,通过VS2010编译通过,运行成功
ZIP
0B
2019-03-09 22:33
基于QT的TCP_socket通信编
基于QT的TCP_socket通信编基于QT的TCP_socket通信编基于QT的TCP_socket通信编基于QT的TCP_socket通信编基于QT的TCP_socket通信编基于QT的TCP_s
DOC
0B
2019-06-01 14:20