非常爱学习 发表于 2020-4-9 19:56:51

socket连接问题

客户端:
import socket
import sys

print("there is client")
cl = socket.socket(socket.AF_INET6, socket.SOCK_STREAM)

host = socket.gethostname()
print(host)
port = 9999

cl.connect((host, port))

msg = cl.recv(1024)

cl.close()

print(msg.decode('utf-8'))

服务端:
import socket
import sys

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


host = socket.gethostname()

port = 9999

sever.bind((host, port))

sever.listen(5)

print("there is sever")
while True:
    clientsocket, addr = sever.accept()
    print("连接地址:%s" % str(addr))
    msg = "。。。" + '\r\n'

    sever.send(msg.encode('utf-8'))

    sever.close()


客户端问题:
Traceback (most recent call last):
File "C:\Users\qazwsx\Desktop\py\pillowssss\client.py", line 11, in <module>
    cl.connect((host, port))
ConnectionRefusedError: 由于目标计算机积极拒绝,无法连接。


wp231957 发表于 2020-4-9 19:56:52

本帖最后由 wp231957 于 2020-4-9 21:00 编辑

非常爱学习 发表于 2020-4-9 20:06
试过了不行,我是先启动的服务端,然后启动的客户端。

服务端:
import socket
import sys

host = socket.gethostname()
port = 9999
sever = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sever.bind((host,port))
sever.listen(5)

print("there is sever")
while True:
    c, addr = sever.accept()
    print("连接地址:%s" % str(addr))
    msg = "我是服务器发来的信息" + '\r\n'
    c.send(msg.encode('utf-8'))
    c.close()


客户端:
import socket
import sys

print("there is client")

host = socket.gethostname()
port = 9999
cl = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
cl.connect((host,port))

msg = cl.recv(1024)
print(msg.decode('utf-8'))

运行效果图:

wp231957 发表于 2020-4-9 20:01:01

客户端 单独启动???
需要客户端服务端 同时启动,顺序是 先启动服务端然后启动客户端

要开两个cmd窗口

非常爱学习 发表于 2020-4-9 20:06:45

wp231957 发表于 2020-4-9 20:01
客户端 单独启动???
需要客户端服务端 同时启动,顺序是 先启动服务端然后启动客户端



试过了不行,我是先启动的服务端,然后启动的客户端。

wp231957 发表于 2020-4-9 21:16:17

socket我感觉了解一下就行
真正写服务器都是用各种框架,那是把socket进行了层层封装

非常爱学习 发表于 2020-4-9 21:22:59

wp231957 发表于 2020-4-9 20:58
服务端:




我好像知道原因了,我用的是AF_INET6,换成你的AF_INET就没问题了
真蛋疼{:9_220:}
页: [1]
查看完整版本: socket连接问题