Questions tagged «sockets»

双向进程间通信流的端点。这通常是指通过网络连接的过程流,但绝不限于此。不要与WebSocket(协议)或其他抽象(例如socket.io)混淆。


12
Python:绑定套接字:“地址已在使用中”
我对TCP / IP网络上的客户端套接字有疑问。假设我用 try: comSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) comSocket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) except socket.error, msg: sys.stderr.write("[ERROR] %s\n" % msg[1]) sys.exit(1) try: comSocket.bind(('', 5555)) comSocket.connect() except socket.error, msg: sys.stderr.write("[ERROR] %s\n" % msg[1]) sys.exit(2) 创建的套接字将绑定到端口5555。问题是结束连接后 comSocket.shutdown(1) comSocket.close() 使用wireshark,我看到套接字从两侧都被FIN,ACK和ACK关闭,我无法再次使用该端口。我收到以下错误: [ERROR] Address already in use 我想知道如何立即清除端口,以便下次仍可以使用该端口。 comSocket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) setsockopt似乎无法解决问题,谢谢!
81 python  sockets  tcp  port 

14
找不到mysql.sock
我只需要重新安装mysql,我就无法启动它。它找不到套接字(mysql.sock)。问题是我不能。在我的Mac OS X 10.4终端中,键入:locate mysql.sock,然后返回/private/tmp/mysql.sock。套接字文件存在于该位置是有道理的,但实际上并不存在。 如何找到套接字文件? 如果locate返回错误的位置,则它必须具有某种内存,并且可能具有索引。如何刷新该索引?

14
立即检测客户端与服务器套接字的断开连接
如何检测到客户端已与服务器断开连接? 我有下面的代码在我的AcceptCallBack方法 static Socket handler = null; public static void AcceptCallback(IAsyncResult ar) { //Accept incoming connection Socket listener = (Socket)ar.AsyncState; handler = listener.EndAccept(ar); } 我需要找到一种方法来尽快发现客户端已从handlerSocket断开连接。 我试过了: handler.Available; handler.Send(new byte[1], 0, SocketFlags.None); handler.Receive(new byte[1], 0, SocketFlags.None); 当您连接到服务器并想检测服务器何时断开连接时,上述方法可以工作,但是当您是服务器并想检测客户端断开连接时,上述方法不起作用。 任何帮助将不胜感激。
80 .net  c#  sockets  tcp  connection 

11
Socket.io + Node.js跨域请求被阻止
我正在使用node和socket.io编写聊天应用程序。在Chrome上运行正常,但mozilla给出了启用跨域请求的错误。 跨域请求被阻止:“同源策略”不允许读取位于http://waleedahmad.kd.io:3000/socket.io/?EIO=2&transport=polling&t=1401964309289-2&sid=1OyDavRDf4WErI-VAAAI的远程资源。可以通过将资源移至同一域或启用CORS来解决此问题。 这是我启动节点服务器的代码。 var express = require('express'), app = express(), server = require('http').createServer(app), io = require('socket.io').listen(server), path = require('path'); server.listen(3000); app.get('/', function(req, res) { res.sendfile(__dirname + '/public/index.html'); }); 在客户端。 var socket = io.connect('//waleedahmad.kd.io:3000/'); HTML页面上的脚本标记。 <script type="text/javascript" src="//waleedahmad.kd.io:3000/socket.io/socket.io.js"></script> 我还在应用程序根目录中使用.htaccess文件。(waleedahmad.kd.io/node)。 Header add Access-Control-Allow-Origin "*" Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type" Header add …



11
检测TCP客户端断开连接
假设我正在运行一个简单的服务器,并accept()从客户端建立了连接。 告诉客户端何时断开连接的最佳方法是什么?通常,客户端应该发送关闭命令,但是如果客户端手动断开连接或完全失去网络连接怎么办?服务器如何检测或处理?
77 c++  sockets  tcp 

4
Bash中的简单套接字服务器?
有没有一种方法可以快速绑定到TCP端口/ IP地址,并简单地将所有信息打印到STDOUT?我有一个简单的调试解决方案,它可以将内容写入127.0.0.1:4444,并且我希望能够简单地从bash绑定端口并打印遇到的所有内容。是否有捷径可寻?
76 linux  bash  sockets  tcp 

4
在哪里可以找到off_t类型的完整定义?
我正在使用TCP从客户端向服务器发送文件。为了标记文件的结尾,我想在实际数据之前发送文件大小。因此,我使用stat系统调用来查找文件的大小。这是类型off_t。我想知道它占用了多少字节,以便可以在服务器端正确读取它。它在中定义 <sys/types.h>。但是我不明白这个定义。它只是定义__off_t or _off64_t为off_t。在哪里找__off_t?__头文件中大多数内容的前缀也是约定,当我阅读头文件以更好地理解它时,这使我感到恐惧。如何更好地读取头文件? #ifndef __off_t_defined # ifndef __USE_FILE_OFFSET64 typedef __off_t off_t; # else typedef __off64_t off_t; # endif # define __off_t_defined #endif


1
Unix域套接字如何区分多个客户端?
TCP具有元组对(IP地址/端口/类型)来告诉一个客户端与另一个客户端。UDP传递客户端IP和端口。unix域如何跟踪不同的客户端? 换句话说,服务器创建一个绑定到某个路径的套接字,例如/ tmp / socket。2个或更多客户端连接到/ tmp / socket。底层发生了什么,可跟踪来自client1和client2的数据?我想象网络堆栈在域套接字中不起作用,所以内核在这里完成所有工作吗? 是否有unix域协议格式,例如IP协议格式和TCP / UDP格式?域套接字数据报协议的格式是否发布在某处?每个Unix是否有所不同,或者类似POSIX的标准吗? 感谢您的照明。我找不到任何解释此信息的信息。每个来源都只是简单介绍了如何使用域套接字。
73 linux  sockets  unix  ipc 


13
套接字接受-“打开的文件太多”
我正在一个学校项目中工作,我必须编写一个多线程服务器,现在我通过对它进行一些测试来将它与apache进行比较。我正在使用Autobench来解决此问题,但是在运行了几次测试之后,或者如果我给它很高的速率(大约600+)以建立连接,我会收到“打开的文件太多”的错误消息。 处理close()完请求后,我总是在套接字上做一个。我也尝试过使用该shutdown()函数,但似乎无济于事。可以解决吗?
72 c  sockets 

4
消息队列在Linux中过时了吗?
我最近在Linux中一直在使用消息队列(系统V,但是POSIX也可以),它们对于我的应用程序似乎很完美,但是在阅读了《 Unix编程的艺术》之后,我不确定它们是否真的是一个不错的选择。 http://www.faqs.org/docs/artu/ch07s02.html#id2922148 System V IPC的上层消息传递层已大大停用。在需要执行互斥锁定和在同一台计算机上运行的进程之间进行一些全局数据共享的情况下,由共享内存和信号量组成的较低层仍然具有重要的应用程序。这些System V共享内存功能演变为POSIX共享内存API,在Linux,BSD,MacOS X和Windows下受支持,但经典MacOS不支持。 http://www.faqs.org/docs/artu/ch07s03.html#id2923376 Linux和其他现代Unix中都有System V IPC功能。但是,由于它们是传统功能,因此并不经常使用。到2003年中期为止,Linux版本仍存在错误。似乎没有人足够在意修复它们。 在最新的Linux版本中,System V消息队列是否仍然存在错误?我不确定作者是否认为POSIX消息队列应该正常吗? 似乎套接字是几乎所有对象(?)的首选IPC,但是我看不到用套接字或其他方法实现消息队列是多么简单。还是我想得太复杂了? 我不知道与嵌入式Linux合作是否有意义?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.