Java TCP 套接字 : data transfer is slow
全部标签 我正在尝试通过网络流发送javabean实例。我想使用JAXB和普通的OutputStream编码/解码java实例,以将其推送到网络上。服务器在解码点等待,但客户端已经很远了。服务器:inputStream=newBufferedInputStream(this.socket.getInputStream());outputStream=newBufferedOutputStream(this.socket.getOutputStream());JAXBContextrequestContext=JAXBContext.newInstance(this.requestClass);U
我过去做过的唯一套接字编程是简单的文本流。我想知道通过套接字发送类似Java对象的最有效方法是什么。例如,如果我有以下Employee类(Dependent将是一个由依赖者信息组成的简单类):publicclassEmployee{privateStringname;privatedoublesalary;privateArrayListdependents;}我是否应该只使Employee对象可序列化并通过套接字发送实例。或者我应该写一个包含员工信息的xml文件并发送吗?任何指导将不胜感激。还是有一些完全不同且更好的方法?谢谢! 最佳答案
我可以在阻塞的套接字上在recv_from之前调用select吗? 最佳答案 是的。select()支持阻塞和非阻塞套接字。 关于c++-我可以在不使用阻塞I/O的情况下在数据报套接字上调用select,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3765587/
问题:我在Windows上有一个程序dummy.exe。该程序启动后将绑定(bind)到UDP端口5060。但另一个程序也想绑定(bind)端口5060。我做了什么:使用windbg启动dummy.exe,并在ws2_32!bind设置断点当断点命中时,我使用命令ew更改了参数(端口值)此dummy.exe将绑定(bind)到新端口,并且运行良好。问题:我怎样才能轻松做到这一点?写一个简单的Windows调试器?也许我可以破解或修改dummy.exe文件,但该怎么做?您是如何实现这一目标的?谢谢编辑1:非常感谢@CodyGray和@cdhowie此软件不提供更改端口的功能。我需要使用此
你好,如何从连接的套接字中获取信息。我需要获取服务器地址,套接字连接到端口。这有可能得到吗?我需要在WSPSend中弄清楚,是否阻止它。所以我不记得它是从以前的Action中形成的(比如socket()、connect()等等)谢谢。 最佳答案 getpeername 关于windows-连接的套接字信息,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/5459550/
我得到了这样的客户端和服务器结构:{chartype;intpayloadLen;charfileName[50];intfileIndex;intblockOffset;intblockLen;charstreamingData[MAX];inth264fileLayer;}在客户端中我接收到类似的数据memset(&data_recevied,0,sizeof(data_received);recv(sockfd,(char*)&data_received,sizeof(data_received),0);我用它来接收从服务器发送的文件,前几个文件一切正常,然后它坏了,当它坏了时我
我想我会在127.0.0.1上使用套接字来为我的应用程序创建简单的IPC。我的目标是Windows、Mac和Linux。我有几个问题:防火墙或其他工具能否阻止我在这3个操作系统中的任何一个上的连接连接速度快吗?有人告诉我,在Linux上,它使用管道传输数据。能否嗅探连接(编辑:例如可以使用RawCap嗅探。) 最佳答案 127.0.0.1(localhost)是环回接口(interface)。这一切都是内部的,不会影响电线。防火墙能挡住吗?不是外部防火墙,但也许在同一台机器上运行的软件防火墙可以。速度快吗?Asfastasitcan
我的问题是我无法通过套接字(windowsxp和windows7)连接两个组件,尽管用套接字创建的服务器正在监听并且我可以远程登录它。然后它接收信息并执行应该做的事情,但是如果我运行相应的套接字客户端,我会收到错误10061。此外,我在防火墙后面-这两个组件在我的LAN中运行,Windows防火墙已关闭,comp1[客户端]:192.168.1.2端口12345comp2[服务器]:192.168.1.5端口12345路由器:192.168.1.1也许端口转发会有帮助?但对我来说最重要的是回答为什么在telnet工作正常时套接字会失败。客户:intmain(){//Initialize
在验证SSL客户端连接时,服务器希望客户端提供证书。在典型的企业Windows平台上,这些证书位于Windows加密存储的“个人”部分(使用以下命令打开:“certmgr.msc”)OpenSSL不使用这些证书。Windows确实提供了一个WinHTTPAPI,它提供了创建SSL连接的能力,但它们必须遵守HTTP请求/响应协议(protocol),有没有人知道WindowsAPI允许程序员创建一个使用Windows密码存储证书进行身份验证的SSL连接,但是可以像OpenSSL套接字一样使用吗?谢谢。 最佳答案 Openssl支持多种
我有一段时间试图解决的问题,但仍然没有成功。我们有简单的服务器客户端应用程序,它通过同步交换消息来工作。相关代码如下。创建套接字:Socketsender;IPAddressipAddress=IPAddress.Parse(remoteHost);IPEndPointremoteEP=newIPEndPoint(ipAddress,remotePort);sender=newSocket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);sender.SetSocketOption(SocketOptionL