Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python套接字错误_Python_Sockets_Syntax Error - Fatal编程技术网

Python套接字错误

Python套接字错误,python,sockets,syntax-error,Python,Sockets,Syntax Error,我是Python新手,我正在尝试编写一个服务器程序。但是,当服务器需要接受套接字连接时,它不会接受,我必须终止程序 File "test.py", line 12, in <module> client_socket, address = server_socket.accept() File "/usr/lib/python2.6/socket.py", line 195, in accept sock, addr = self._sock.accept() ` 谢谢你的

我是Python新手,我正在尝试编写一个服务器程序。但是,当服务器需要接受套接字连接时,它不会接受,我必须终止程序

File "test.py", line 12, in <module>
  client_socket, address = server_socket.accept()
File "/usr/lib/python2.6/socket.py", line 195, in accept
  sock, addr = self._sock.accept() `

谢谢你的帮助

我想你应该调用socket.gethostbynamesocket.gethostname,而不仅仅是socket.gethostname。

我知道了。我需要的不是socket.gethostname,而是该位置的服务器地址。这就是为什么我一开始就无法连接到服务器,而且总是不得不用^C来终止它的原因。你有客户端来建立连接吗?socket.accept将一直挂起,直到客户端连接。是的,但它非常基本,所以我没有包含它,但我有一个socket.connect语句,所以我假设它使连接成为第二个TJD。我对此进行了测试,socket.accept会一直挂起,直到客户端连接。我找到了答案。我需要的不是socket.gethostname,而是该位置的服务器地址。这就是为什么我一开始无法连接到服务器,总是不得不用^C终止它
 import socket
 import os

 server_address = '10.1.1.2'

 #while 1:
 #       os.system('netcat -l 3333')
 serversocket = socket.socket( socket.AF_INET, socket.SOCK_STREAM)

 serversocket.bind ((socket.gethostname(), 3333))

 serversocket.listen(1)

 serversocket, client_addr = serversocket.accept()
 print client_addr

 serversocket.close()