Tag: 套接字

Java套接字:程序停在socket.getInputStream()没有错误?

InetAddress host = InetAddress.getLocalHost(); Socket link = new Socket(host, Integer.parseInt(args[0])); System.out.println(“before input stream”); ObjectInputStream in = new ObjectInputStream(link.getInputStream()); System.out.println(“before output stream”); ObjectInputStream out = new ObjectOutputStream(link.getOutputStream()); “输入流之前”是cmd-line上的最后一个生命值。 没有抛出exception。 为什么会这样? 我不明白…… args [0]是5000. //编辑:flush没有帮助。

基于服务器的SwingWorker不会停止

我有一个布尔变量来控制服务器的执行(启动/停止): private boolean ecoute = true; 这是我的class级: sw=new SwingWorker (){ protected String doInBackground() throws Exception { try { server = new ServerSocket(Integer.parseInt(port.getText())); String str1=”waiting for connexion..”; String str2=”Connexion ok”; log.append(str1+”\n”); PrintWriter out=null; BufferedReader in=null; Socket socClient=null; while(ecoute){ socClient = server.accept(); log.append(str2+”\n”); in = new BufferedReader( new InputStreamReader(socClient.getInputStream()) ); out = new PrintWriter( new BufferedWriter( new […]

基于Java的HTTP客户端,支持流水线

您知道任何支持HTTP / 1.1的HTTP流水线选项的免费Java库( http://en.wikipedia.org/wiki/HTTP_pipelining )吗?

(如何)我可以使用ServerSocket来侦听UDP而不是TCP流量?

在我的应用程序中,有一个模块使用ServerSocket来侦听传入的TCP连接。 当我切换客户端使用UDP时,我希望无论如何都会收到数据,但我错了。 但是,当我查看文档时,我找不到任何配置选项来设置UDP的套接字。 我必须使用不同的课程吗?

用于实现套接字连接的servlet

如何使用正在侦听端口进行套接字连接的Servlet实现Web应用程序?

Java中的多人游戏。 将客户端(播放器)连接到由其他客户端创建的游戏

我正在开发多人游戏,我无法找到如何将其他客户连接到创建的游戏。 我的意思是客户端A创建到服务器的套接字连接以及其他客户端(A,B ……)如何连接到客户端A? 有人可以帮帮我吗? PS我是网络编程的新手,所以如果你能附上一些例子,我将非常感激。

使用带有套接字的Javas对象流的性能问题

我正在尝试使用Java中的套接字和对象流来进行本地IPC,但是我看到性能不佳。 我正在测试通过ObjectOutputStream发送对象的ping时间,以通过Socket上的ObjectInputStream接收回复。 这是请求者: public SocketTest(){ int iterations = 100; try { Socket socket = new Socket(“localhost”, 1212); ObjectInputStream objectInputStream = new ObjectInputStream(socket.getInputStream()); ObjectOutputStream objectOutputStream = new ObjectOutputStream(socket.getOutputStream()); double start = System.currentTimeMillis(); for (int i = 0; i < iterations; ++i) { Request request = new Request(); objectOutputStream.writeObject(request); Response response = (Response)objectInputStream.readObject(); } double finish = […]

中断DatagramSocket.receive中的一个线程

我正在构建一个侦听TCP和UDP的应用程序,而且我的关机机制遇到了一些问题。 当我在每个侦听线程上调用Thread.interrupt()时,TCP线程会被监听中断,而UDP侦听器则不会。 具体来说,TCP线程使用ServerSocket.accept() , ServerSocket.accept()返回(没有实际连接)。 UDP线程使用DatagramSocket.receive() ,但不退出该方法。 这是我的JRE,我的操作系统中的问题,还是应该切换到(Datagram)Socket.close() ? 更新:我找到了问题的分析 。 它确认行为不一致。

来自Socket的DataInputStream的“可用”

我在客户端有这个代码: DataInputStream dis = new DataInputStream(socketChannel.socket().getInputStream()); while(dis.available()){ SomeOtherClass.method(dis); } 但是,尽管流中有可读数据,但available()仍然返回0 。 因此,在完成要读取的实际数据之后,将空数据传递给另一个要读取的类,这会导致损坏。 经过一番搜索; 我发现在使用套接字时, available()是不可靠的,我应该从流中读取前几个字节,以实际查看数据是否可用于解析。 但就我而言; 我必须将我从套接字获得的DataInputStream引用传递给其他一些我无法更改的类。 是否可以从DataInputStream读取几个字节而不破坏它或任何其他建议?

如何通过Java套接字以二进制forms发送数据?

我已经看到很多在Java中通过套接字发送序列化数据的例子,但我想要的只是发送一些简单的整数和一个字符串。 而且,问题是我正在尝试将这些传达给用C编写的二进制文件。 那么,底线:如何在Java中通过套接字发送一些字节?