草庐IT

socket通信

全部标签

java - 在java中通过tcp/ip进行通信的数据结构是什么?

假设我想在2个使用TCP套接字的java程序之间发送许多消息。我认为最方便的方式是发送如下对象:PrintStreamps=newPrintStream(s.getOutputStream());ObjectOutputStreamoos=newObjectOutputStream(ps);some_kind_of_object_here;oos.writeObject(some_kind_of_object_here);ps.print(oos);我要发送,字符串,数字,HashMaps,boolean值我怎样才能使用可以存储所有这些属性的fx1对象来做到这一点?我想到了可序列化的A

sockets - TCP端口如何绑定(bind)

任何人都知道端口号如何与套接字绑定(bind)的详细信息以及端口如何用于将传输层接收的数据包转发到正在读取该端口的套接字?谢谢。 最佳答案 应用程序使用bind()绑定(bind)到本地IP地址和端口功能。远程IP地址和端口由连接的另一端在建立连接时确定。在内核中,在建立tcp连接时,基于包括本地地址、本地端口、远程地址和远程端口的数据将套接字放入哈希表中。当传入的tcp段到达时,这些值从header中提取并用于在哈希表中查找相应的套接字。在Linux中,此查找发生在函数inet_lookup_established()中。.类似的

java - Android Java Socket Socket TCPIP 打开连接

我需要通过TCPIP连接到服务器。我找到了如何做到这一点,但这些例子并没有建立永久连接,它只是连接发送数据并断开连接。我需要保持连接打开以来回传递多个包。例如,我习惯于请求一个连接,然后有一个进程来监听传入的数据。像这样:连接确认连接发送数据接收数据……回到#3关闭连接。关于这个或更好的示例代码,有什么我可以阅读的吗? 最佳答案 从现在开始(ICS+),要建立网络连接,您将需要使用AsyncTask(或处理程序),除非您愿意移除限制(不可取!)。默认情况下,网络连接受主Activity线程的限制。这个AsyncTask可以解决问题(

c# - 通过 .Net Socket 发送/接收为串行通信构建的消息

我们已经完成了一些基本的TCP通信,但有几个问题。我们正在与TCP服务器通信,其中交易流程描述如下:ThesenderinitiatesthetransactionbysendinganSTX(ASCII0x02)character,thenwaitsfortherecipienttoreplybysendinganACK(ASCII0x06)character.AfteranACKisreceived,thesendertransmitsafour-byte,unsigned,big-endianintegerrepresentingthesizeofthemessagepayloa

.net - Socket.BeginConnect 与 Socket.Connect

我想连接到Socket,但我发现了2种不同的连接方法:BeginConnect和Connect。有谁知道2之间的区别?BeginConnect是否也要求您调用EndConnect?套接字连接:http://msdn.microsoft.com/en-us/library/ych8bz3x.aspxSocket.BeginConnecthttp://msdn.microsoft.com/en-us/library/6aeby4wt%28VS.80%29.aspx使用一种方法比另一种方法有优势吗? 最佳答案 正如文档所述,Connect

3.Kubernetes—pod通信网络原理

一个service,二个IP,三个port 1、同一个Pod中容器通信2、同一个节点多个Pod之间通信3、跨节点的pod通信4、外部网络和pod之间通信一个service,3个IP,三个port NodePortnodeport是外部流量访问K8s的一种方式,即nodeIP:nodePort,是提供给外部流量访问K8s集群资源的一种方式。总的来说,我们可以通过在service中配置nodeport,从而使得我们可以通过集群外的机器进行访问我们的服务。Portport是K8s集群内部服务访问service的入口。是service暴露在Cluster上的端口,ClusterIP:Port。如下面的

sockets - 远程关闭后 TCP 套接字的状态是什么?

假设我已经接受()到我的服务器(在Solaris上运行)的连接并且客户端关闭了连接。在我在服务器端close()之前,服务器端套接字的套接字(在netstat类别中)的状态是什么?绑定(bind)了吗? 最佳答案 会是CLOSE_WAIT,看tcp状态图,例如在http://en.wikipedia.org/wiki/File:Tcp_state_diagram_new.svg 关于sockets-远程关闭后TCP套接字的状态是什么?,我们在StackOverflow上找到一个类似的问题

sockets - 如何在尾递归中关闭套接字?

我创建了一个udp客户端,需要每5s发送一次消息,所以我写start()->{ok,Sock}=gen_udp:open(0,[]),send(Sock).send(Sock)->gen_udp:send(Sock,"127.0.0.1",3211,"helloworld"),timer:sleep(5000),send(Sock).我想知道关闭socket的好地方 最佳答案 如果您的目标是每5秒发送一条消息,那么为什么要关闭套接字?如果您有一些逻辑来确定何时发送了足够多的消息(例如,您计算它们),那么这就是关闭套接字的地方。这是一

c - 编程 C : getting error when binding address and port to socket

我真的不知道我做错了什么。我包括了所有好的图书馆。并在我的VPS和本地Ubuntu安装上对其进行了测试。我还查找了可以正常工作的同一程序的其他代码。但我不断收到“错误:无法将Internet地址绑定(bind)到套接字方法”消息。这是我用C代码编写的TCP服务器:#include#include#include#include#include#include#include//EnterThePortandtheIpAddresshere.#definePORT666#defineADRESS0//EntertheamountofMaximumPoepleenteringtheserv

sockets - 在 linux 中测试一个 socket 是否打开

我有一个linux服务器程序,它等待来自客户端的传入连接,并根据您发送的命令执行不同的连接。这是伪代码setup_socket();while(1){listen();newfile_descriptor=accept();intcommandread(newfile_descriptor,&command,sizeof(int));switch(command){...}}但是当我想用同一个客户端发送多个命令时,它会永远监听(因为没有建立新的连接)。有没有办法在收听新连接之前检查是否已经连接? 最佳答案 在你读取命令的地方循环怎么