tcp服务端socket

简介: import socketif __name__ == '__main__': # 创建tcp服务端socket tcp_server_socket = socket.socket(socket.
import socket

if __name__ == '__main__':
    # 创建tcp服务端socket
    tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    # 立即释放端口号,重用端口
    # SOL_SOCKET: 表示当前socket
    # SO_REUSEADDR: 是否立即释放端口选项
    # True:表示立即释放端口
    tcp_server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True)
    # 绑定端口号
    tcp_server_socket.bind(("", 7878))
    # 设置监听,把主动套接字变成被动套接字, 被动套接字:以后只能接收客户端连接请求,不能收发消息,收发消息使用返回的新套接字
    # 128:表示等待的最大连接数
    tcp_server_socket.listen(128)
    # 等待接收客户端连接请求, 返回一个新的套接字说明建立连接成功,以后和客户端通信使用service_client_socket
    # accept会一直等待客户端建立连接,只有连接建立成功才会继续往下执行代码否则一直等待
    service_client_socket, ip_port = tcp_server_socket.accept()
    print(ip_port)
    # 接收客户端的消息
    recv_data = service_client_socket.recv(1024)
    # 这里可以自己定义编码格式,编码错误了则忽略
    print(recv_data.decode(encoding= 'utf-8', errors='ignore'), len(recv_data))     # ʹtcp~ 26
    # 解码数据
    recv_content = recv_data.decode("gbk")
    print(recv_content)  # 哈哈,我使用tcp发送数据啦~
    # 发送数据
    service_client_socket.send("这里是服务端。。。".encode("gbk"))
    # 关闭服务于客户端的socket
    service_client_socket.close()
    # 关闭服务端的socket
    tcp_server_socket.close()

  

                                                                   -------  知识无价,汗水有情,如需搬运请注明出处,谢谢!

目录
相关文章
|
5天前
|
网络协议 Linux Windows
TCP/IP、Http、Socket之间的区别
TCP/IP、Http、Socket之间的区别
|
8天前
|
网络协议 Ubuntu Unix
Linux 下使用 socket 实现 TCP 客户端
Linux 下使用 socket 实现 TCP 客户端
|
1月前
|
网络协议 Linux
TCP 和 UDP 的 Socket 调用
【2月更文挑战第19天】
TCP 和 UDP 的 Socket 调用
|
1月前
|
网络协议 Java
【计算机网络】TCP socket编程
【计算机网络】TCP socket编程
|
3月前
|
网络协议 Linux API
Linux C TCP编程(socket,select/poll/epoll)
本文主要介绍了linux下标准的TCP通信流程,实现了客户端和服务器的通信,主要实现了消息的回发,即服务器将消息原封不动的回发给客户端。如果对接口不熟悉可以参考socket api介绍或者参考其他博客。
24 0
|
3月前
Socket网络编程练习题二:客户端发送一条数据,接收服务端反馈的消息并打印;服务端接收数据并打印,再给客户端反馈消息
Socket网络编程练习题二:客户端发送一条数据,接收服务端反馈的消息并打印;服务端接收数据并打印,再给客户端反馈消息
|
3月前
Socket网络编程练习题一:客户端多次发送数据,服务端多次接收数据并打印
Socket网络编程练习题一:客户端多次发送数据,服务端多次接收数据并打印
|
4月前
|
网络协议 Unix Linux
【Unity 3D】C#中Socket及TCP三次握手与四次挥手详解(超详细 图文解释)
【Unity 3D】C#中Socket及TCP三次握手与四次挥手详解(超详细 图文解释)
42 0
|
12天前
|
安全 Java 数据处理
Python网络编程基础(Socket编程)多线程/多进程服务器编程
【4月更文挑战第11天】在网络编程中,随着客户端数量的增加,服务器的处理能力成为了一个重要的考量因素。为了处理多个客户端的并发请求,我们通常需要采用多线程或多进程的方式。在本章中,我们将探讨多线程/多进程服务器编程的概念,并通过一个多线程服务器的示例来演示其实现。
|
12天前
|
程序员 开发者 Python
Python网络编程基础(Socket编程) 错误处理和异常处理的最佳实践
【4月更文挑战第11天】在网络编程中,错误处理和异常管理不仅是为了程序的健壮性,也是为了提供清晰的用户反馈以及优雅的故障恢复。在前面的章节中,我们讨论了如何使用`try-except`语句来处理网络错误。现在,我们将深入探讨错误处理和异常处理的最佳实践。