繁体   English   中英

当我尝试连接-python时,套接字给我错误

[英]Socket gives me error when i try to connect -python

我试图了解套接字,我无法设法连接到ip,port。 这是我得到的脚本:

stian的套接字测试工具

import socket

print "send request to website to check if sockets work right"
ip = raw_input("website ip: ")
port = raw_input("website port: ")
socket.connect(ip, port)
tosend = "this is a test"
currVal = 0
while currVal < 1:
    socket.send(tosend)
    print "1 sockets sent..."
    currrVal += 1
print "Done sending sockets. This hopefully worked"

python代码有什么问题吗? 这仅适用于ipv4或ipv6吗? 还是两者都适用?

即时消息获取错误:

C:\Users\Swipper\Documents\Python\sockets>sock.py
send request to website to check if sockets work right
website ip: 127.0.0.1
website port:
Traceback (most recent call last):
  File "C:\Users\Swipper\Documents\Python\sockets\sock.py", line 8, in <modu
le>
    socket.connect(ip, port)
AttributeError: 'module' object has no attribute 'connect'

希望有人知道答案。

PS:我使用python 2.7!

-stian

您正在模块上而不是对象上调用.connect() 您必须首先实例化一个套接字对象,通常通过socket.socket()实现。 然后,您可以在返回的对象上调用.connect()

s = socket.socket()
s.connect((ip, int(port))

您必须首先创建一个套接字对象:

s = socket.socket()
s.connect((ip, int(port))

代替:

socket.connect(ip, port)

然后使用s.send

connect调用的参数不应该是元组吗?

socket.connect((ip, port))

并检查send呼叫的返回值。

另外,除非收到其他信息,否则您将不知道另一端是否关闭了连接。 接收是唯一确定连接是否已关闭的方法。

编辑:和其他人一样,您必须创建一个套接字对象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM