Python下socket通信

Server端代码:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Author: areful

# a server example which send hello to client.

import socket
import threading
import time

def tcp_link(_sock, _addr):
    print(‘Accept new connection from %s:%s...‘ % _addr)
    _sock.send(bytes(‘Welcome!‘, encoding=‘utf-8‘))
    while True:
        data = _sock.recv(1024)
        time.sleep(1)
        if data == ‘exit‘ or not data:
            break
        _sock.send(bytes(‘Hello, %s!‘ % data, encoding=‘utf-8‘))
    _sock.close()
    print(‘Connection from %s:%s closed.‘ % _addr)

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((‘127.0.0.1‘, 9999))
s.listen(5)
print(‘Waiting for connection...‘)
while True:
    sock, addr = s.accept()
    t = threading.Thread(target=tcp_link, args=(sock, addr))
    t.start()

Client端代码:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Author: areful

‘a socket example which send echo message to server.‘

import socket

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((‘127.0.0.1‘, 9999))
print(s.recv(1024))
for data in [‘Michael‘, ‘Tracy‘, ‘Sarah‘]:
    s.send(bytes(data, encoding=‘utf-8‘))
    print(s.recv(1024))
s.send(bytes(‘exit‘, encoding=‘utf-8‘))
s.close()

运行结果如图:  

原文地址:https://www.cnblogs.com/areful/p/10381294.html

时间: 2024-08-06 06:25:05

Python下socket通信的相关文章

Java 和 Python 的 Socket 通信

网络上两个程序通过一个双向通讯连接实现数据的交换,这个双向链路的一端称为一个Socket.Socket支持的协议有多种,这里主要介绍基于 TCP/IP 协议族的 Socket 编程. 首先,IP协议族决定了socket的地址类型,在通信中必须采用对应的地址.AF_INET(AF 表示 Adress Family)表示要用 ipv4 地址(32位)与端口号(16位)的组合. 然后,根据传输协议又分为:流式 Socket(SOCK_STREAM) 和数据报式 Socket(SOCK_DGRAM):

(8)Linux(客户端)和Windows(服务端)下socket通信实例

Linux(客户端)和Windows(服务端)下socket通信实例: (1)首先是Windows做客户端,Linux做服务端的程序 Windows   Client端 #include <stdio.h> #include <Windows.h> #pragma comment(lib, "ws2_32.lib") #define Port 5000 #define IP_ADDRESS "192.168.1.30"     //服务器地址

python的socket通信实例

一.socket简介 1. 套接字 套接字是为特定网络协议(例如TCP/IP,ICMP/IP,UDP/IP等)套件对上的网络应用程序提供者提供当前可移植标准的对象. 它们允许程序接受并进行连接,如发送和接受数据.为了建立通信通道,网络通信的每个端点拥有一个套接字对象极为重要. 套接字为BSD UNIX系统核心的一部分,而且他们也被许多其他类似UNIX的操作系统包括Linux所采纳. 许多非BSD UNIX系统(如ms-dos,windows,os/2,mac os及大部分主机环境)都以库形式提供

Python实现socket通信

介绍 本文介绍如何用python脚本实现socket通信,在一台服务器上开一个端口监听,其他机器通过telnet连进来,模仿B/S模式进行通信. 正文 一共两个文件. webserver.py import socket import re import os PORT = 8080 # Create a Server Socket serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) serversocket.bind

python基础-socket通信

socket是一种双向通信的起点和重点,氛围服务器端和客户端 Socket服务器端用到的方法有 Method Description s.bind() This method binds address (hostname, port number pair) to socket. s.listen() This method sets up and start TCP listener. s.accept() This passively accept TCP client connectio

Python的socket通信!

# 网络通信服务端 import socket # 1.导入网络通信模块 ip_port = ('0.0.0.0',9898) # 2.制定自身服务器地址和端口 ser = socket.socket() # 3.实例化对象,参数不填默认是ipv4,TCP传输 ser.bind(ip_port) # 4.绑定连接 ser.listen(4) # 5.设置监听,最多允许5个接入 print("开始接入.....") scl,addr = ser.accept() # 6.开始接受连接,阻

Socket通信客户端和服务端代码

这两天研究了下Socket通信,简单实现的客户端和服务端代码 先上winfrom图片,客户端和服务端一样 服务端代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; usin

python异步socket编程之一

异步网络能极大地提高程序的并行处理能力,所以写了一个专题来总结python中的异步通信. 一.同步client与同步server的通信 1.1. <python的socket通信实例>中的例子 1. TCP server端代码 #!/usr/bin/env python # # -*- coding:utf-8 -*- # File: sync_socket_server.py # from socket import * from time import ctime HOST = '' PO

【Python之旅】第五篇(一):Python Socket通信原理

只要和网络服务涉及的,就离不开Socket以及Socket编程,下面就说说Python Socket通信的基本原理. 1.Socket socket也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄.应用程序通常通过"套接字"向网络发出请求或者应答网络请求.可以列举中国移动或者是中国电信等的电话客服,当然,也可以看下面的图片来作形象的说明. socket起源于Unix,而Unix/Linux基本哲学之一就是:一切皆文件,即都可以用"打开open-