01/10/2018, 10:41

Tạo một server đơn giản bằng python?

Em làm theo hướng dẫn bên Tutorialpoint, tạo một server như sau

#!/usr/bin/python3           # This is server.py file
import socket                                         

serversocket = socket.socket(
        socket.AF_INET, socket.SOCK_STREAM) 

# get local machine name
host = socket.gethostname()                           

port = 9999                                           

# bind to the port
serversocket.bind((host, port))                                  

# queue up to 5 requests
serversocket.listen(5)                                           

while True:
   # establish a connection
clientsocket,addr = serversocket.accept()      

print("Got a connection from %s" % str(addr))

msg='Thank you for connecting'+ "
"
clientsocket.send(msg.encode('ascii'))
clientsocket.close()

Nhưng mà khi cho chạy thì xuất hiện lỗi này

đọc code không thấy chỗ nào có yêu cầu mở file “#” cả. Giúp em fixx với ạ :D.

Link bài viết của tutorialspoint: https://www.tutorialspoint.com/python3/python_networking.htm

Noname viết 12:57 ngày 01/10/2018

Bạn bỏ dòng này đi, chạy trên win thì không cần thiết lắm

#!/usr/bin/python3

Henry viết 12:55 ngày 01/10/2018

Ơ, thêm cái & làm cái gì thế nhỉ?

Do Ngoc Anh viết 12:57 ngày 01/10/2018

Cũng không biết nữa, thấy họ bảo làm thì làm thôi, theo như trong đó thì cái dòng python server,py & sẽ làm cho server chạy ở background

Henry viết 12:49 ngày 01/10/2018

Mình thấy chỗ đó khá tào lao. Bạn thử bỏ đi xem

Do Ngoc Anh viết 12:54 ngày 01/10/2018

Nếu bỏ đi thì nó sẽ như này và con trỏ soạn thảo sẽ cứ nhấp nháy mãi không nhập được gì cả

Do Ngoc Anh viết 12:58 ngày 01/10/2018

bỏ đi sẽ bị như này

Henry viết 12:46 ngày 01/10/2018

Ơ thế bạn không chạy phía client à?
Mở thêm một Powershell nữa, chạy file client đi

Do Ngoc Anh viết 12:57 ngày 01/10/2018

Henry viết 12:47 ngày 01/10/2018

Bạn cho mình xem file client.py của bạn được không? Nó ở đường dẫn nào?

Do Ngoc Anh viết 12:45 ngày 01/10/2018

cả hai file server.py và client .py mình đều lưu vào E:\NetworkPython\

#!/usr/bin/python3           # This is client.py file

import socket

# create a socket object
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 

# get local machine name
host = socket.gethostname()                           

port = 9999

# connection to hostname on the port.
s.connect((host, port))                               

# Receive no more than 1024 bytes
msg = s.recv(1024)                                     

s.close()

print (msg.decode('ascii'))
Henry viết 12:56 ngày 01/10/2018

Giờ bạn screenshot cho mình xem 2 files đó và content của 2 files đó

Noname viết 12:47 ngày 01/10/2018

Mình chạy thử đây, chuột nhấp nháy là nó đang chạy rồi đó bạn. Nó mở cổng 9999 chờ connect vào

Henry viết 12:47 ngày 01/10/2018

Bạn ấy bị lỗi vì không tìm thấy path chứ không phải do code.

Do Ngoc Anh viết 12:53 ngày 01/10/2018

file server:

file client:

Henry viết 12:49 ngày 01/10/2018

Bật 2 powershell lên chạy ở thư mục đó, chạy file server.py, sau đó bật thêm một powershell nữa cũng ở chỗ đó chạy file client.py.
Screenshot nếu có lỗi

Do Ngoc Anh viết 12:44 ngày 01/10/2018

Oh được rồi bạn. Cám ơn nhé

Bài liên quan
0