草庐IT

persistent-connection

全部标签

Python:套接字编程:accept() 和 connect 调用

几个月以来一直在自学python,终于学会了Socket编程。作为课本练习,我应该设计一个半双工聊天系统。下面是代码。第一个请求和响应都很好,但每次我尝试从客户端发送第二条消息时,服务器似乎挂起。该程序基于TCP。我怀疑由于每次必须发送新消息时都会调用ss.accept(),因此会创建一个新线程,但由于我只从客户端对sc.connect()进行了1次调用,所以可能是我在服务器端的新连接在那里挂了无限长的时间。作为一个线索:我在while循环之外调用了ss.accept(),即只建立一个连接并在while循环中一遍又一遍地监听数据,对话工作得很好谁能看看代码并帮助我了解问题的确切位置。自

sockets - java.net.ConnectException : Connection refused: connect 异常

尝试使用apache文件上传来上传文件,但出现此错误:java.net.ConnectException:Connectionrefused:connect昨天还好,今天就坏了 最佳答案 防火墙配置(我指的是端口转发,而不是访问规则)已更改或服务器进程未运行。 关于sockets-java.net.ConnectException:Connectionrefused:connect异常,我们在StackOverflow上找到一个类似的问题: https://s

c# - 如何在 C# TCP/IP 中的 Socket.Connect 中传递用户名和密码

我有一台机器,我需要连接到它以将数据检索到文本文件中。为此,我有机器的IP地址、端口号、用户名、密码。现在我正在尝试连接到机器但我不知道在哪里传递要在我的C#代码中连接的机器的用户名和密码。请帮帮我。 最佳答案 评论已经给出了答案,总结一下:对于TCP协议(protocol),重要的只是如何连接A和B来实现数据传输。任何超出成功连接的事情都取决于您使用的内部应用程序协议(protocol)您需要服务的描述以及发送和接收的内容您从问候语“这里是客户”开始。这就是我假设的如何传输用户名和密码的方式。例如,在您的“这里是客户”消息之后,服

java - socket.connect(endpoint) 和 new Socket(ip,port) 有什么区别

当创建到serversocket的客户端连接时,我们可以通过两种方式创建客户端套接字我的问题是以下两种方法之间的区别是什么,InetAddressaddr=InetAddress.getByName("localhost");SocketAddresssockaddr=newInetSocketAddress(addr,1111);SocketclientSocket=newSocket();clientSocket.connect(sockaddr);还有另一种方法SocketclientSocket=newSocket("localhost",1111);有什么优点和缺点谢谢。

c - 多进程和多线程 C 服务器上的持久连接

我第三次尝试问这个问题,也许这次我能更好地解释我的问题。我有一个多进程服务器,每个进程都执行accept()(避免文件锁定的ThunderingHerd问题,不用担心)。每个进程都初始化一个线程池(管理其他进程的主要进程除外)。当accept()成功时,文件描述符被传递到线程池,并且这些线程之一被pthread_cond_signal()唤醒。此后,进程返回文件锁定等待通过它,以便它可以再次等待accept()。同时,线程读取文件描述符并完成它的工作:读取HTTP请求并在读取-服务的无限循环中为它提供服务(为了获得HTTP持久连接)。仅当发生错误或超时到期时,循环才会被打破。到目前为止

sockets - 为什么代码显示 "Error 354 (net::ERR_CONTENT_LENGTH_MISMATCH): The server unexpectedly closed the connection."

我正在用JAVA构建我的HTTPWEB服务器。如果客户端请求任何文件并且该文件在服务器的那个地方,那么服务器将该文件提供给客户端。我也做了这个代码,它工作正常。显示上述功能的代码部分,Filetarg=[CONTAINSONEFILE]PrintStreamps;InputStreamis=newFileInputStream(targ.getAbsolutePath());while((n=is.read(buf))>0){System.out.println(n);ps.write(buf,0,n);}但是现在为了优化我的代码,我用下面的代码替换了这段代码,InputStreami

python - 使用 python 处理数千个持久 TCP 连接

我需要用Python开发一个应用程序来并行处理几千个持久的TCP连接。客户端在启动时连接到服务器并不时发送一些消息(二进制格式)。服务器还发送回复客户端消息和异步一些其他二进制消息。基本上它是由客户端发起的持久连接,因为我无法访问NAT后面的客户端。问题是:我应该为这项任务考虑哪个库​​/框架。为每个客户端生成一个线程不是一种选择。我不知道python的线程池库。我最近也发现了gevent。我还有哪些其他选择? 最佳答案 This链接是一个很好的阅读。它列出了Python中所有可用的事件驱动和异步网络框架,并对每个框架的性能进行了很

c# - 尝试 socket.Connect 时出现 Socket Exception 10054

1-我有一个GHIElectronicsFEZSpider3设备2-我已经通过以太网电缆将设备连接到我的笔记本电脑并配置了网络设置3-我可以使用cmd从笔记本电脑pingFEZ设备:ping172.16.43.1934-我已经编写了一个Windows窗体应用程序在我的笔记本电脑上运行并充当TCP接收器5-我想从FEZ设备发送TCP数据包到我笔记本电脑上的win应用程序以下是win应用代码:string[]dnsAddresses={"172.16.40.2","172.16.40.5"};constInt32c_port=12250;publicForm1(){InitializeCo

c# - 防止 TcpClient.Connect 的第一次机会异常

我的代码中有一条非常令人沮丧的FirstChanceException消息。Afirstchanceexceptionoftype'System.Net.Sockets.SocketException'occurredinSystem.dllAdditionalinformation:Noconnectioncouldbemadebecausethetargetmachineactivelyrefusedit"privatevoidRunThread(){do{TcpClientclient=null;StreamWriterwriter=null;try{//Connectclien

Python TCP 套接字 : How to know if a specific connection has sent information

我有一个多线程Python3应用程序,它在线程#1上接受TCP套接字通信。线程#2将检查所有当前连接是否有任何要接收的信息,然后采取相应行动。所以,目前我有一个名为all_connections的列表,它是已接受的套接字连接对象的列表。使用forconnectioninall_connections:我可以遍历所有连接对象。我知道我使用conn.recv(256)来检查是否有任何准备好在此套接字上接收。这会阻止循环直到有东西可以接收吗?我已经预先设置了conn.setblocking(1)尽管我不确定这是否是解决它的最佳方法:下面是一些示例代码:线程1self.all_connecti