Python ネットワーク プログラミングでの TCP ソケットの簡単な使用法

不言
リリース: 2018-04-09 14:37:07
オリジナル
1890 人が閲覧しました

この記事では主にPythonネットワークプログラミングにおけるTCPソケットの簡単な使い方を紹介しますので、必要な方は参考にしてください

この記事ではPythonネットワークプログラミングにおけるTCPソケットの簡単な使い方について説明します。参考までに、詳細は以下の通りです:

私はこれまでPythonを学んだことがなかったので、Javaについては少ししか知りません、そしてCを書くのは面倒です。 , そのため、TCP ソケット プログラミングを実際に実装したことはありません。

私は最近 Python を学びました。それを使用してソケットを記述するのは非常に便利で簡単なので、もちろん試してみる必要があります。

以下は、コードに基づいた最も単純な tcp プログラムの紹介です。クライアントはデータを入力してサーバーに送信し、サーバーは時間を追加してクライアントに返します


#!/usr/bin/python
'test TCP server'
from socket import *  #套接字所需要的模块
from time import ctime  #时间模块
HOST = ''  #主机名,为空,表示可以绑定在任何有效的地址上。
PORT = 21567  #随机选的可用端口
BUFSIZ = 1024  #发送数据的缓冲区
ADDR = (HOST, PORT)
tcpSerSock = socket(AF_INET, SOCK_STREAM)  #第一个参数是socket_family,此处用常用的AF_INET,第二个参数是流套接字,即创建的是tcp
tcpSerSock.bind(ADDR)  #套接字与地址绑定
tcpSerSock.listen(5)  #开始监听,参数表示允许的最大连接数
while True:
  print 'waiting for connection...'
  tcpCliSock, addr = tcpSerSock.accept()  #打开大门等待客人,accept返回一个元组(connection,address)。第一个元素是新的socket对象,服务器必须通过它与客户通信;第二个是客户的地址。
  print '...connected from:',addr
  while True:
    data = tcpCliSock.recv(BUFSIZ)  #洗耳恭听,把客人的话记录到data中
    if not data:  #客人话说完了,送客
      break
    tcpCliSock.send('[%s] %s' %(ctime(), data))  #发送当前时间,以及数据给客人
  tcpCliSock.close()  #送客,关闭与该客人通信的套接字
tcpSerSock.close()  #因为上面是死循环,此处不是必须的,只是提醒大家离开的时候务必要关门!
ログイン後にコピー


2 つのソケットがあります。上記で使用した場合、最初の tcpSerSock はウェルカム ソケットと呼ばれ、2 番目の tcpCliSock はクライアントとの通信を実際に担当するソケットです。この利点は、サーバーが同時に複数のゲストを受信できることです。

以下は非常にシンプルなクライアントコードです:


#!/usr/bin/python
'test tcp client'
from socket import *
HOST = 'localhost'  #因为我是在同一台机器上运行,所以是localhost,不同主机的话,此处需要改成服务器地址
PORT = 21567
BUFSIZ = 1024
ADDR = (HOST, PORT)
tcpCliSock = socket(AF_INET, SOCK_STREAM)  #客户端只需要一个套接字
tcpCliSock.connect(ADDR)  #发起连接
while True:
  data = raw_input('>')
  tcpCliSock.send(data)  #发送数据
  if not data:
    break
  data = tcpCliSock.recv(BUFSIZ)  #接收数据
  print data
tcpCliSock.close()
ログイン後にコピー

関連する推奨事項:

Python Webクローラ関数の基本的な書き方の紹介

よく使われるPythonネットワークプログラミング

Pythonネットワークプログラミングで関数のまとめが到着しました

以上がPython ネットワーク プログラミングでの TCP ソケットの簡単な使用法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート