菜鸟求教一个关于python socket的问题
情况时这样,最近刚学python,一直使用的文本编辑,在学到socket时自己尝试写了一个小脚本,部分语句如下: import socketself.service=socket.socket(socket.AF_INET,socket.SOCK_STREAM)python 运行无错最近又发现,原来eclipse是有python扩展包的,于是尝试把自己写的东西放到eclipse中运行,然后就报错了:self.service=socket.socket(socket.AF_INET,socket.SOCK_STREAM)AttributeError: 'module' object has no attribute 'AF_INET'ctrl+左键放到AF_INET提示此值存放在_socket下,于是有以下尝试:import socketimport _socketprint _socket.AF_INET #无报错,返回2print socket.AF_INET #报错于是修改了脚本import _socket as socket我的脚本运行正常首先,我系统的环境使用的时python2.6,eclipse中,windows-》preferences-》interpreter - python这里面的lib包(指向/usr/bin/python2.6),与我在终端的输出sys.path输出的值时一样的然后,我的问题:1,是不是在python中有两个模块,一个叫socket,一个叫_socket?2,为什么在终端执行,可以直接import socket.AF_INET,而在eclipse中则需要import _socket?可能你的测试脚本或当前路进下有其他脚本也叫socket,优先被载入造成错误,试试import后立刻打印路径看看是不是标准的那个...>>> import socket>>> print socket.__file__C:Python27libsocket.pyc >>>

关于Python中socket问题。
HOST='localhost'#如果要两台电脑远程通讯,这里应该绑定什么? 所谓host,就是主机地址。本地使用 'localhost' 会被映射为 '127.0.0.1'的,也就是本机。不同主机相互通信呢?直接使用 局域网地址即可。比如 (本机)192.168.1.2(其他电脑)192.168.1.3 然后本机做主机:HOST='192.168.1.2'换句话说:客户端的机器 必须能够连接 主机。 在(其他电脑) "ping 192.168.1.2" 必须能ping通。 那么 不在同一个局域网的怎么办?那就必须使用 外网IP了,或者域名。或者使用类似“花生壳”等软件,进行主机映射也可以

Python中 socket 和 Queue有什么区别
socket(计算机专业术语):网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。建立网络通信连接至少要一对 端口号(socket)。socket本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口;HTTP是轿车,提供了封装或者显示数据的具棚雹体形式;Socket是发动机,提供了网络通信的能力。queue(线性表):队列是一种特殊的线性表,是一种先进先出(FIFO)的数据结构。它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进链让帆行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。而其在C++中的应用语法:queue类是为程序员提供了一个队列的功能的容器适配器,具体而言,一个FIFO(先入先出)的数据结构;在头文滑首件中定义(在程序开头输入#include ,切记不可写为#include )。 望采纳

请教一个关于python socket的问题
代码如下: Python code?123456789101112131415161718192021222324252627282930313233#!/usr/bin/python from socket import socket, AF_INET, SOCK_STREAMfrom threading import Thread port = 50008host = 'localhost' def server():sock = socket(AF_INET, SOCK_STREAM)sock.bind(('', port))sock.listen(5)while True:conn, addr = sock.accept()data = conn.recv(1024)reply = 'server got: [%s]' % dataconn.send(reply.encode()) def client(name):sock = socket(AF_INET, SOCK_STREAM)sock.connect((host, port))sock.send(name.encode())reply = sock.recv(1024)sock.close()print('client got: [%s]' % reply) if __name__ == '__main__': sthread = Thread(target=server)sthread.daemon = Truesthread.start()for i in range(5):Thread(target=client, args=('client%s' % i,)).start()在ubuntu下运行,报下面的异常信息:Exception in thread Thread-2:Traceback (most recent call last):File "/usr/lib/python3.2/threading.py", line 740, in _bootstrap_innerself.run()File "/usr/lib/python3.2/threading.py", line 693, in runself._target(*self._args, **self._kwargs)File "./socket_test.py", line 21, in clientsock.connect((host, port))socket.error: [Errno 111] Connection refused把socket绑定的端口改为5000后,就没有异常。求指点!谢谢!client got: [server got: [client1]]client got: [server got: [client0]]client got: [server got: [client2]]client got: [server got: [client3]]client got: [server got: [client4]]我这正常的,你那是不是有两个服务器同时开了?把原来那个杀掉。 是因为端口被占用了吗?

Python 之 Socket编程(TCP/UDP)
socket(family,type[,protocal]) 使用给定的地址族、套接字类型、协议编号(默认为0)来创建套接字。有效的端口号: 0~ 65535但是小于1024的端口号基本上都预留给了操作系统POSIX兼容系统(如Linux、Mac OS X等),在/etc/services文件中找到这些预留端口与的列表面向连接的通信提供序列化、可靠的和不重复的数据交付,而没有记录边界。意味着每条消息都可以拆分多个片段,并且每个消息片段都能到达目的地,然后将它们按顺序组合在一起,最后将完整的信息传递给等待的应用程序。实现方式(TCP):传输控制协议(TCP), 创建TCP必须使用SOCK_STREAM作为套接字类型因为这些套接字(AF_INET)的网络版本使用因特网协议(IP)来搜寻网络中的IP,所以整个系统通常结合这两种协议(TCP/IP)来进行网络间数据通信。数据报类型的套接字, 即在通信开始之前并不需要建议连接,当然也无法保证它的顺序性、可靠性或重复性实现方式(UDP)用户数据包协议(UDP), 创建UDP必须使用SOCK_DGRAM (datagram)作为套接字类型它也使用因特网来寻找网络中主机,所以是UDP和IP的组合名字UDP/IP注意点:1)TCP发送数据时,已建立好TCP连接,所以不需要指定地址。UDP是面向无连接的,每次发送要指定是发给谁。2)服务端与客户端不能直接发送列表,元组,字典。需要字符串化repr(data)。TCP的优点:可靠,稳定 TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源。TCP的缺点:慢,效率低,占用系统资源高,易被攻击 TCP在传递数据之前,要先建连接,这会消耗时间,而且在数据传递时,确认机制、重传机制、拥塞控制机制等都会消耗大量的时间,而且要在每台设备上维护所有的传输连接,事实上,每个连接都会占用系统的CPU、内存等硬件资源。 而且,因为TCP有确认机制、三次握手机制,这些也导致TCP容易被人利用,实现DOS、DDOS、CC等攻击。什么时候应该使用TCP :当对网络通讯质量有要求的时候,比如:整个数据要准确无误的传递给对方,这往往用于一些要求可靠的应用,比如HTTP、HTTPS、FTP等传输文件的协议,POP、SMTP等邮件传输的协议。 在日常生活中,常见使用TCP协议的应用如下: 浏览器,用的HTTP FlashFXP,用的FTP Outlook,用的POP、SMTP Putty,用的Telnet、SSH QQ文件传输.UDP的优点:快,比TCP稍安全 UDP没有TCP的握手、确认、窗口、重传、拥塞控制等机制,UDP是一个无状态的传输协议,所以它在传递数据时非常快。没有TCP的这些机制,UDP较TCP被攻击者利用的漏洞就要少一些。但UDP也是无法避免攻击的,比如:UDP Flood攻击……UDP的缺点:不可靠,不稳定 因为UDP没有TCP那些可靠的机制,在数据传递时,如果网络质量不好,就会很容易丢包。什么时候应该使用UDP:当对网络通讯质量要求不高的时候,要求网络通讯速度能尽量的快,这时就可以使用UDP。 比如,日常生活中,常见使用UDP协议的应用如下: QQ语音 QQ视频 TFTP ……

本文由 在线网速测试 整理编辑,转载请注明出处。