ホームページ >バックエンド開発 >Python チュートリアル >チャット ルームの Python コードの実装

チャット ルームの Python コードの実装

高洛峰
高洛峰オリジナル
2017-02-25 11:30:111547ブラウズ

Java チャット ルームと比較して、Python でも実行できます。そしてそれはよりエレガントに行うことができます。さまざまなストリームの Python ソケットが非常に少ないという事実は、きっと気に入っていただけるでしょう。

知識ポイントに関する内容については、ここでは詳しく説明しません。ああ、とても簡単なことではありませんか?注意する必要があるのは、ソケットの 2 番目のパラメータが SOCK_DGRAM であることです。これは、TCP モードの SOCK_STREAM とは異なるためです。

TCPメソッド

サーバー側

# coding:utf-8

#  __author__ = 'Mark sinoberg'
#  __date__ = '2016/7/7'
#  __Desc__ = 创建一个简单的套接字监听请求

import socket

HOST = '192.168.59.255'
PORT = 9998

s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
s.bind(('',PORT))
print '套接字已启动!'
while True:
  data,addr = s.recvfrom(1024)
  print addr,str(' : ')+data

クライアント側

# coding:utf-8

#  __author__ = 'Mark sinoberg'
#  __date__ = '2016/7/7'
#  __Desc__ = socket的客户端的简单实现

import socket

PORT = 9998
HOST = '192.168.59.255'
s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
words = raw_input('Client:')
while words != 'quit':
  s.sendto(words,(HOST,PORT))
  words = raw_input('Client:')
s.close()

TCP モードのデモンストレーション結果

: (最初にサーバーを起動することに注意してください)

サーバー側

D:SoftwarePython2python.exe E:/Code/Python/MyTestSet/sockettest/SimpleTCPServer.pyクライアントを待っています!

接続者 ('192.168.59.225', 63095)

('192 .16 8. 59.225', 63095) 発言: Thu Jul 07 16:01:10 2016 Hello World

('192.168.59.225', 63095) 発言: Thu Jul 07 16:01:15 2016 haode

データを受信して​​いません!

待機中クライアントは !

Client

D:SoftwarePython2python.exe E:/Code/Python/MyTestSet/sockettest/SimpleTcpClient.py

>>>Hello World

こんにちは、あなたは私に送信します:[木曜日07 16:01:10 2016]Hello World

>>>いくつかの単語を入力してください!>>>

>>>haode

こんにちは、あなたは私に送信します:[Thu Jul 07 16 : 01:15 2016]haode >>>quit終了コード 0 でプロセスが終了しました

概要


TCP または UDP を使用するだけで非常に簡単ですが、これらをさらに活用したいと考えています。 2 契約は慎重に設計する必要があります。

ここで強調したいのは、tcp と udp がソケットを作成するときに指定されるパラメーターに注意してください。

以上がこの記事の全内容です。皆さんの学習に役立つことを願っています。また、皆さんも PHP 中国語 Web サイトをサポートしていただければ幸いです。 チャット ルームの Python コード実装に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。