import socket, sys host='?' port=3306 s= socket.socket(socket.AF_INET,socket.SOCK_STREAM) try: s.connect((host,port)) except socket.gaierror, e: print "Address-related error connecting to server: %s" % e sys.exit(1) except socket.error, e: print "Connection error: %s" % e sys.exit(1) while True: try: data = raw_input("I say: ") s.send(data) buf = s.recv(1024) if len(buf): print "He says: " + buf except: print "Dialogue Over" s.close() sys.exit(0)关于这个代码,pycharm报错 File "C:\Users\Administrator\PycharmProjects\chat\inc.py", line 6, in <module> s.conent((host,port)) AttributeError: 'socket' object has no attribute 'conent'
时间: 2024-01-21 07:18:36 浏览: 24
代码中的错误是将connect拼写成了conent。可以将代码中的第6行改为s.connect即可解决。正确的代码如下:
```
import socket, sys
host='?'
port=3306
s= socket.socket(socket.AF_INET,socket.SOCK_STREAM)
try:
s.connect((host,port))
except socket.gaierror, e:
print "Address-related error connecting to server: %s" % e
sys.exit(1)
except socket.error, e:
print "Connection error: %s" % e
sys.exit(1)
while True:
try:
data = raw_input("I say: ")
s.send(data)
buf = s.recv(1024)
if len(buf):
print "He says: " + buf
except:
print "Dialogue Over"
s.close()
sys.exit(0)
```
相关问题
import socket,sys host='?' port=3306 s= socket.socket(socket.AF_INET,socket.SOCK_STREAM) try: s.conent((host,port)) except socket.gaierror,e: print "Address-related error connecting to server:%s"%e sys.exit(1) except socket.error,e: print"Connection error:%s"%e sys.exit(1) while 1: try: data=raw_input("I say") s.send(data) buf=s.recv(1024) if len(buf): print"he say:"+buf excpet: print"Dialogue Over" s.close() sys.exit(0)
这段代码似乎有一些语法错误和缩进问题,我稍微修改了一下:
```python
import socket, sys
host='?'
port=3306
s= socket.socket(socket.AF_INET,socket.SOCK_STREAM)
try:
s.connect((host,port))
except socket.gaierror, e:
print "Address-related error connecting to server: %s" % e
sys.exit(1)
except socket.error, e:
print "Connection error: %s" % e
sys.exit(1)
while True:
try:
data = raw_input("I say: ")
s.send(data)
buf = s.recv(1024)
if len(buf):
print "He says: " + buf
except:
print "Dialogue Over"
s.close()
sys.exit(0)
```
这个程序的作用是连接到一个 MySQL 数据库服务器,并与其进行简单的对话。你可以尝试运行一下,但需要注意,你需要将 `host` 变量设置为有效的 MySQL 服务器地址才能成功连接。
import socket, sys host='?' port=3306 s= socket.socket(socket.AF_INET,socket.SOCK_STREAM) try: s.connect((host,port)) except socket.gaierror, e: print "Address-related error connecting to server: %s" % e sys.exit(1) except socket.error, e: print "Connection error: %s" % e sys.exit(1) while True: try: data = raw_input("I say: ") s.send(data) buf = s.recv(1024) if len(buf): print "He says: " + buf except: print "Dialogue Over" s.close() sys.exit(0)关于这个代码,pycharm报错 except socket.gaierror,e: ^ SyntaxError: invalid syntax
这个代码是 Python 2.x 的代码,在 Python 3.x 中会出现语法错误。可以将 except socket.gaierror, e: 改为 except socket.gaierror as e:。同时,raw_input() 也应该改为 input()。修改后的代码如下:
```python
import socket
import sys
host = '?'
port = 3306
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
s.connect((host, port))
except socket.gaierror as e:
print("Address-related error connecting to server: %s" % e)
sys.exit(1)
except socket.error as e:
print("Connection error: %s" % e)
sys.exit(1)
while True:
try:
data = input("I say: ")
s.send(data.encode())
buf = s.recv(1024)
if len(buf):
print("He says: " + buf.decode())
except:
print("Dialogue Over")
s.close()
sys.exit(0)
```
请注意,此代码仅用于参考,因为 host 和 port 都是未知的,所以代码可能无法正常工作。