草庐IT

出口IP

全部标签

sockets - 一个系统(计算机)可以处理多少个 TCP/IP 套接字连接?

我一直在从事一个关于TCP/IP套接字连接和通过这些套接字传输消息的项目。我正在连接到具有特定IP地址的UNIX服务器并建立套接字连接。到目前为止,我可以管理来自1台主机的大约16000个连接(在这种情况下,这是我自己的电脑)。当我尝试从其他主机(MacOsx或WindowsPC)建立其他连接时,我达到了相同的最大连接数16000。我可以在服务器端拥有65536个连接,而且我确实维护了它。但仅当4台不同计算机中的每台计算机有16000个连接时。我想知道为什么我有这个以及如何仅从一台主机建立超过16000个连接。 最佳答案 在Wind

java - 用于通过 TCP/IP 连接的 SSL 证书

我有一个Java应用程序,它与服务器通信并通过TCP/IP上的SMPP连接交换短消息。我想添加SSL安全性以使短消息安全。我正在使用JSMPP(SMPP的Java实现)。我想要以下几点的答案:我应该在应用程序运行机器(客户端)的什么地方添加SSL证书?可能我应该将它们添加到JVM。请确认。我在另一台运行并等待TCP/IP连接的java机器上实现了服务器。我应该在服务器机器上的什么地方添加证书?我是否需要更改代码,或者JVM会为现有代码增加安全性?在哪里可以找到免费试用的SSL证书?我正在使用Java1.6和JSMPP2.1.0谢谢 最佳答案

java - 如何在 Java 中更改 source-ip(tcp)

是否可以在Java中更改TCPheader?如果可以的话,有没有【ChangeHeader】的方法? 最佳答案 从您的问题标题(“如何在Java中更改源ip”)回答更狭窄的问题,您可以在连接之前将您的套接字绑定(bind)到本地IP地址和/或端口它到目的地。您绑定(bind)的IP地址必须是您的机器拥有的IP地址(否则,数据包如何返回您的机器?)。您还可以使用任何未使用的、非保留的端口号来连接。Socketsocket=newSocket();socket.bind(newInetSocketAddress(9999));//or:

tcp - 192,168,1,2,7,138如何转换为IP地址192.168.1.2上的1930端口

我如何从FTP抛出的数字中推断出端口和IP?例如192,168,1,2,7,138在IP地址192.168.1.2上转换为1930?背后的逻辑是什么? 最佳答案 前四个数字表示客户端IP,后两个数字表示客户端端口号。这是十六进制到十进制的转换。16^2*7+138=1930第一个数字代表十六进制数(端口号)的第3位和第4位,第二个数字代表十六进制数的第1位和第2位。所以我们有7=07inhex和138=8Ainhex总的来说078Ainhexwhichis1930或者您可以跳过它并仅将第一个数字转换为dec,因为该“移位”,它用于第

networking - 为什么 TCP/IP header 的大小必须是 32 位的倍数?

我已经搜索过,但大多数书籍只是说有填充可以使header成为32位的倍数。为什么必须是32位的倍数? 最佳答案 原因是memoryalignment.我将从一个类比开始-想象一个有1000个文件抽屉的巨大文件室。这个房间由100个单独的橱柜组成,每个橱柜有10个抽屉。每个抽屉可以放一张纸,而您的秘书(负责处理抽屉中的数据)一次可以处理10张数据。尽管处理的数据量相同,但告诉秘书“去处理机柜#83”比“去处理机柜12中的抽屉5-10和机柜13中的抽屉1-5”更简单、更有效.CPU大致相同。CPU(秘书)通常不会一次处理一个字节(抽屉)

java - 在java中获取远程tcp连接的ip地址?

我用过著名的优秀KnockKnockservertutorial作为学习java网络的一种方式。我试图使用socket.getInetAddress()找出已连接客户端的ip地址,但它总是返回我的路由器的ip,192.168.1.254,大概是因为连接在那里弹跳。有什么方法可以获取连接到tcp套接字的远程客户端的正确ip? 最佳答案 试试这个:ServerSocketsSock;SocketcSock;sSock=newServerSocket(port_number);cSock=sSock.accept();System.out

c# - 来自 TCP/IP 的读取循环

我需要连接一个服务器(使用ip和端口)并创建一个读取循环,它将以XML的形式从服务器获取消息。有时服务器没有消息。我尝试创建一个连接(工作正常)并读取消息,我从服务器收到第一条消息,当我尝试读取另一条消息时-它卡住了。我认为现在可能没有消息,但我需要循环继续,直到有消息……它甚至不去“捕捉”或“最后”,只是什么都不做..publicclassConnection{publicConnection(){Socketserver=null;try{stringp=string.Empty;using(varclient=newTcpClient(myIPAddress,myPort))us

delphi - 在 delphi 中建立 tcp ip 连接时无法读取消息

我有一个在本地机器(127.0.0.1)上运行的exe。此exe在端口1234写入并在5678读取。exe每50秒写入一个整数值,例如1212、4545、6767等。我想读取该整数值并显示。所以我正在使用IndyClient来达到目的。我为此开发了以下代码片段。IdTCPClient1.Port:=1234;//SetporttoconnecttoIdTCPClient1.Host:='127.0.0.1';//SethosttoconnecttoIdTCPClient1.Connect;//MakeconnectionsMsg:=IdTCPClient1.Socket.ReadLn;

发送从串行端口接收的数据的 C# TCP/IP 客户端 - 建议

目前我正在开发一个应用程序,它通过串行端口从RFID读卡器接收数据。数据,之后数据应该通过TCP/IP发送到服务器。我已经让这两个东西都起作用了,但不是同时起作用。我可以从卡上读取ID,也可以向服务器发送一些文本。但我想征求您的意见,让这两者协同工作的最佳解决方案是什么。目前我在两个类中使用TCP/IP和串行使用。我从主类创建两个类的对象并启动一个从串行端口读取数据的线程。我应该尝试这样的事情吗?在类里面,我只会创建串行使用对象并调用处理读取的线程。在该读取线程内,我将调用一个新线程,该线程将打开TCP/IP连接并发送它从串口接收到的数据。另一种类似的方法会从主类打开两个连接,但它会从

Java TCP/IP 套接字发送字节对齐的数据

我很难通过套接字发送字节对齐的数据,因为我一直遵循的示例使用PrintWriter类将所有内容转换为字符串表示形式。我想发送3个带有页眉和页脚的浮点值。这样消费者就知道每次传输要读取多少字节。我的客户发送如下内容://Addaheader:floattype=params[0];if(type==TransmitService.ACC_TYPE)out.print('a');elseif(type==TransmitService.GYR_TYPE)out.print('g');elseout.print('u');//unknown-wtf?hasn'thappenedyetbutj