注册 登录
编程论坛 Python论坛

python socket server程序在不同系统上编写方法不一样,是吗

香蕉小皮 发布于 2012-09-05 12:30, 1624 次点击
# -*- coding: utf-8 -*-

import socket
import datetime

HOST=''
PORT=21567
BUFSIZ = 1024
ADDR = (HOST,PORT)

tcpSerSock = socket(socket.AF_INET,socket.SOCK_STREAM)
tcpSerSock.bind(ADDR)
tcpSerSock.listen(5)

while True:
    print 'waiting for connection...'
    tcpCliSock, addr = tcpSerSock.accept()
    print '...connectde from:',addr

    while True:
        data = tcpCliSock.recv(BUFSIZ)
        if not data:
            break
        tcpCliSock.send('[%s] %s' %(
            ctime(),data))

        tcpCliSock.close()
tcpSerSock.close()
我写成这样后,它报错了: File "F:\Program Files\python\ts Tserv.py", line 11, in <module>
    tcpSerSock = socket(socket.AF_INET,socket.SOCK_STREAM)
TypeError: 'module' object is not callable
qing bang mang jiejue.xieixe !
2 回复
#2
静夜思2012-09-05 14:55
# -*- coding: utf-8 -*-

import socket
import datetime

HOST=''
PORT=21567
BUFSIZ = 1024
ADDR = (HOST,PORT)

tcpSerSock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
tcpSerSock.bind(ADDR)
tcpSerSock.listen(5)

while True:
    print 'waiting for connection...'
    tcpCliSock, addr = tcpSerSock.accept()
    print '...connectde from:',addr

    while True:
        data = tcpCliSock.recv(BUFSIZ)
        if not data:
            break
        tcpCliSock.send('[%s] %s' %(
            ctime(),data))

        tcpCliSock.close()
tcpSerSock.close()

出错信息已经说的很明白了:
TypeError: 'module' object is not callable
socket是模块(module),不是函数,所以不能够callable
#3
pangding2012-09-08 01:06
难得看见静老大答题。
1