Tag: 套接字

我可以打开一个套接字并将它传递给Linux中的另一个进程

在Linux中,是否可以打开套接字并将套接字传递给另一个进程? 如果是的话,你能告诉我在哪里可以find一个例子吗? 谢谢。

127.0.0.1和localhost有什么不同?

假设在…/hosts定义了以下内容: 127.0.0.1 localhost 什么(如果有的话)是使用127.0.0.1和localhost作为服务器名称之间的实际区别,尤其是在本地运行正在侦听连接的进程时?

如何findlinux的socket缓冲区大小

什么是Linux的默认套接字缓冲区大小? 有什么命令可以看到吗?

缩放聊天应用 – 短轮询与长轮询(AJAX,PHP)

我运行一个网站,用户可以通过浏览器相互聊天(想想Facebook聊天)。 处理现场互动的最佳方式是什么? (现在我每30秒钟进行一次民意调查,以更新在线用户和新的传入消息,而另一项民意调查则每隔一秒在聊天页面上获取新消息。) 我考虑过的事情: HTML5networking套接字:没有使用它,因为它不适用于所有的浏览器(只有铬)。 Flash套接字:没有使用这个,因为我想最终支持移动networking。 现在,我正在使用短轮询,因为我不知道如何可伸缩的AJAX长轮询。 我现在从servint运行VPS服务器(运行Apache)。 我应该使用长轮询还是短轮询? 我不需要绝对即时的响应时间(只是对于一个聊天应用程序“足够好”)。 有几十万用户会经常杀这个服务器吗? 我如何扩展这个,请帮助!

(非常)基本的Python客户端套接字示例

我一直试图围绕套接字如何工作,我一直试图挑选一些我在这个页面find的示例代码,用于一个非常简单的客户套接字程序。 由于这是基本的示例代码,我认为它没有错误,但是当我尝试编译它时,出现以下错误消息。 文件“client.py”,第4行,在client_socket.connect(('localhost',5000))文件“”,第1行,在连接socket.error:[Errno 111]连接被拒绝 我几乎把这个错误的每一个部分都search了一遍,有类似问题的人似乎已经通过改变端口号,使用“连接”而不是“绑定”等一些东西来帮助,但没有一个他们适用于我的情况。 任何帮助非常感谢,因为我是非常新的networking编程和相当新的python。 顺便说一句,这里是代码,以防万一,链接不能出于任何原因。 #client example import socket client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) client_socket.connect(('localhost', 5000)) while 1: data = client_socket.recv(512) if ( data == 'q' or data == 'Q'): client_socket.close() break; else: print "RECIEVED:" , data data = raw_input ( "SEND( TYPE q or Q to Quit):" ) if (data <> 'Q' and […]

如何find一个可用的端口?

我想启动一个监听端口的服务器。 我可以明确指定端口,它的工作原理。 但我想自动find一个端口。 在这方面我有两个问题。 我应该在哪个范围的端口号码search? (我用端口12345,12346和12347,这很好)。 我怎样才能找出一个给定的端口是否没有被其他软件占用?

Python 地址已经在使用中

在我的Python套接字程序中,我有时需要用Ctrl-C来中断它。 当我这样做时,它会使用socket.close()closures连接。 但是,当我尝试重新打开它时,我必须等待一下,然后才能再次连接。 如何正确closures套接字? 或者这是打算?

TCP:两个不同的套接字可以共享一个端口吗?

这可能是一个非常基本的问题,但它使我感到困惑。 两个不同的连接sockets可以共享一个端口吗? 我正在编写一个能够处理超过10万个并发连接的应用程序服务器,并且我们知道系统上可用端口的数量大约为60k(16位)。 一个连接的套接字被分配给一个新的(专用)端口,所以这意味着并发连接的数量受到端口数量的限制,除非多个套接字可以共享相同的端口。 所以这个问题。 我在这里先向您的帮助表示感谢!

在本地主机上,我如何select一个免费的端口号码?

我试图玩与进程间通信,因为我不知道如何使用Windows下的命名pipe道我想我会使用networking套接字。 一切都发生在本地 服务器能够在一个单独的进程中启动从站并监听某个端口。 奴隶们做的工作,并把结果提交给主人。 如何找出哪个端口可用? 我假设我不能听港口80或21? 我正在使用Python,如果这削减了select。 谢谢!

listen()忽略积压参数?

我有以下问题: 我有sockfd = socket(AF_INET, SOCK_STREAM, 0) 当我build立并绑定套接字(比如sockfd.sin_port = htons(666) )后,我立刻做了: listen(sockfd, 3); sleep(50); // for test purposes 我睡了50秒来testing积压参数,这似乎被忽略,因为我可以build立连接*在端口666上超过3次。 *:我的意思是,我从每个从客户端发送的第N个SYN(n> 3)获得一个syn / ack,并放入监听队列中,而不是被丢弃。 什么可能是错的? 我读过listen(2)和tcp(7)的man页面,发现: Linux套接字上的backlog参数的行为随Linux 2.2而改变。 现在它指定了等待被接受的完全build立的套接字的队列长度,而不是不完整的连接请求的数目。 不完整套接字队列的最大长度可以使用/ proc / sys / net / ipv4 / tcp_max_syn_backlog来设置。 当启用syncookies时,没有逻辑最大长度,这个设置被忽略。 有关更多信息,请参阅tcp(7)。 ,但即使使用sysctl -w sys.net.ipv4.tcp_max_syn_backlog=2和sysctl -w net.ipv4.tcp_syncookies=0 ,我仍然得到相同的结果! 我一定是错过了一些东西,或者完全误解了listen()的积压目的。