Pythonを使用したシンプルなチャットルーム
この記事では、Pythonでソケットプログラミングを使用してサーバーとクライアントのチャットルームシステムを作成する方法を説明します。
ソケットは、任意の通信チャネルのエンドポイントです。これらは、サーバーとクライアントを接続するために使用されます。ソケットは双方向です。この領域では、両端にソケットを設定し、サーバーを介してさまざまなクライアント間でチャットルームシステムを設定します。サーバー側には、クライアントソケットに接続するためのいくつかのポートがあります。クライアントが同じポートに接続しようとすると、チャットルームへの接続が確立されます。
基本的に2つの部分があります。サーバー側とクライアント側。サーバー側スクリプトが実行されているときは、アクティブな接続要求を待ちます。 1つの接続が確立されると、その接続と通信できます。
この場合、localhostを使用しています。マシンがLAN経由で接続されている場合は、IPアドレスを使用して通信できます。サーバーはそのIPを表示し、サーバーの名前を尋ねます。クライアント側からは、名前と、接続するサーバーのIPアドレスを指定する必要があります。
import time, socket, sys print('Setup Server...') time.sleep(1) #Get the hostname, IP Address from socket and set Port soc = socket.socket() host_name = socket.gethostname() ip = socket.gethostbyname(host_name) port = 1234 soc.bind((host_name, port)) print(host_name, '({})'.format(ip)) name = input('Enter name: ') soc.listen(1) #Try to locate using socket print('Waiting for incoming connections...') connection, addr = soc.accept() print("Received connection from ", addr[0], "(", addr[1], ")\n") print('Connection Established. Connected From: {}, ({})'.format(addr[0], addr[0])) #get a connection from client side client_name = connection.recv(1024) client_name = client_name.decode() print(client_name + ' has connected.') print('Press [bye] to leave the chat room') connection.send(name.encode()) whileTrue: message = input('Me > ') if message == '[bye]': message = 'Good Night...' connection.send(message.encode()) print("\n") break connection.send(message.encode()) message = connection.recv(1024) message = message.decode() print(client_name, '>', message)
クライアント側コード
import time, socket, sys print('Client Server...') time.sleep(1) #Get the hostname, IP Address from socket and set Port soc = socket.socket() shost = socket.gethostname() ip = socket.gethostbyname(shost) #get information to connect with the server print(shost, '({})'.format(ip)) server_host = input('Enter server\'s IP address:') name = input('Enter Client\'s name: ') port = 1234 print('Trying to connect to the server: {}, ({})'.format(server_host, port)) time.sleep(1) soc.connect((server_host, port)) print("Connected...\n") soc.send(name.encode()) server_name = soc.recv(1024) server_name = server_name.decode() print('{} has joined...'.format(server_name)) print('Enter [bye] to exit.') whileTrue: message = soc.recv(1024) message = message.decode() print(server_name, ">", message) message = input(str("Me > ")) if message == "[bye]": message = "Leaving the Chat room" soc.send(message.encode()) print("\n") break soc.send(message.encode())
-
PythonTkinterを使用した簡単な登録フォーム
Tkinterは、GUI(グラフィカルユーザーインターフェイス)を開発するためのPythonライブラリです。 tkinterライブラリを使用してUI(ユーザーインターフェイス)のアプリケーションを作成し、ウィンドウやその他すべてのグラフィカルユーザーインターフェイスを作成します。 python 3.x(推奨)を使用している場合、TkinterにはPythonが標準パッケージとして付属しているため、使用するために何もインストールする必要はありません。 Tkinterで登録フォームを作成する前に、まずTkinterで簡単なGUIアプリケーションを作成しましょう。 簡単なGUIアプリケーションの
-
PythonでのCX_Freezeの使用
時々私たちは非常にエキサイティングな何か違うものを作りたいと感じます、そして人間の性質によれば、私たちはいつもそれを共有するのが大好きです。 Pythonもそれらの願いを満たします。 Pythonを使用して、Pythonプログラムを友人と共有したい場合は、それを行うことができます。必要なのは、マシンのプログラムで使用されるすべてのモジュールに同じバージョンのPythonをインストールすることだけです。 まず、 pip install CX_Frezzeを使用してCX_Freezeモジュールをインストールする必要があります コマンドプロンプトのコマンド。 最初のステップは、この割り当て、