鱼C论坛

 找回密码
 立即注册
查看: 528|回复: 5

[已解决]socket连接问题

[复制链接]
发表于 2020-4-9 19:56:51 | 显示全部楼层 |阅读模式
20鱼币
客户端:
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: [WinError 10061] 由于目标计算机积极拒绝,无法连接。


最佳答案
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'))

运行效果图:

最佳答案

查看完整内容

服务端: 客户端: 运行效果图:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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'))

运行效果图:
无标题777.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-9 20:01:01 | 显示全部楼层
客户端 单独启动???
需要客户端  服务端 同时启动,顺序是 先启动服务端  然后启动客户端

要开两个cmd窗口
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-4-9 20:06:45 | 显示全部楼层
wp231957 发表于 2020-4-9 20:01
客户端 单独启动???
需要客户端  服务端 同时启动,顺序是 先启动服务端  然后启动客户端

试过了不行,我是先启动的服务端,然后启动的客户端。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-9 21:16:17 From FishC Mobile | 显示全部楼层
socket我感觉了解一下就行
真正写服务器都是用各种框架,那是把socket进行了层层封装
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-4-9 21:22:59 | 显示全部楼层

我好像知道原因了,我用的是AF_INET6,换成你的AF_INET就没问题了
真蛋疼
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-26 05:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表