Tag: 套接字

我可以使用套接字在Java和C#之间进行通信吗?

更具体地说,如果计算机具有服务器( java.net.ServerSocket实例),我可以使用C# System.Net.Sockets.Socket实例连接到它吗?

java.net.SocketException:socket关闭TCP客户端服务器通信

我正在通过TCP创建一个java客户端/服务器应用程序,我们有两个套接字: 一个是交换消息。 二是文件传输。 我在Server中创建了两个ServerSockets以创建Socket One和Two 通过接受ServerSockets。 起初,客户端通过第一个Socket发送一些字节 这样它就可以告诉服务器它需要哪个文件。 然后,服务器通过第二个套接字将文件发送到客户端。 客户端收到文件后,尝试向服务器发送一个Transfer Done Message。 在那里我得到了关闭套接字的exception。 但是我直到现在才关闭套接字。 我只关闭发送文件的缓冲区。 即使我在发送文件后尝试再次打开socketInputStream,错误仍然是相同的。 此外,如果我不关闭发送文件的缓冲区,客户端将无法获取该文件。 服务器exception 返回消息中的错误 – java.net.SocketException:socket已关闭 客户端例外 服务器响应 – java.net.SocketException:软件导致连接中止:套接字写入错误 我究竟做错了什么?

Java,套接字,BufferedReader和readline挂起…… :(

我根本不是Java程序员。 我试图不惜一切代价避免它,但是我需要将它用于一个class级(在学校意义上)。 老师要求我们使用Socket(),BufferedReader(),PrintWriter()和其他各种东西,包括BufferedReader()的readLine()方法。 基本上,这是我遇到的问题。 文档清楚地指出readLine应该在输入流的末尾返回一个null,但这不是正在发生的事情。 Socket link = new Socket(this.address, 80); BufferedReader in = new BufferedReader( new InputStreamReader( link.getInputStream() )); PrintWriter out = new PrintWriter( new PrintWriter( link.getOutputStream(), true )); out.print(“GET blah blah blah”); // http request by hand out.flush(); // send the get please while( (s=in.readLine()) != null ) { // prints the html […]

ObjectInputStream的(socket.getInputStream()); 不起作用

我正在编写一个类来与服务器进行通信,但是当它尝试在输入流的帮助下构造ObjectInputStream时程序正在冻结。 Theres没有exception,程序仍然在运行,但挂起在它试图构造ObjectInputstream的行中。 下面是我的问题所在方法的代码: @Override public void connect(String ip, int port) throws UnknownHostException, IOException { Socket socket = new Socket(ip, port); out = new ObjectOutputStream(socket.getOutputStream()); InputStream is = socket.getInputStream(); in = new ObjectInputStream(is); } 这是整个class级的代码: package Client; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.PrintWriter; import java.net.Socket; import java.net.UnknownHostException; public […]

Java简单代码:java.net.SocketException:来自服务器的文件意外结束

我在Java中编写了一些简单的代码,该方法应该连接到网站并返回BufferedReader。 private BufferedReader getConnection(String url_a) { URL url; try { System.out.println(“getting connection”); url = new URL(url_a); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); urlConnection.addRequestProperty(“User-Agent”, “Mozilla/5.0 (X11; U; Linux i586; en-US; rv:1.7.3) Gecko/20040924” + “Epiphany/1.4.4 (Ubuntu)”); inStream = new InputStreamReader(urlConnection.getInputStream()); return new BufferedReader(inStream); } catch (Exception ex) { Logger.getLogger(Reader.class.getName()).log(Level.SEVERE, null, ex); } return null; } 当我在我的电脑上使用它时,它工作正常,但当我把.jar文件放在服务器上时,我收到此错误: java.net.SocketException: Unexpected […]

如何检查Socket目前是否以Java连接?

我试图找出Java TCP套接字当前是否已连接,以下似乎只是告诉我套接字是否已在某些时候连接 – 而不是它当前是否仍然连接。 socket.isConnected(); 任何帮助表示感谢,谢谢。

Java 8中的新java.security.AccessControlException

以前工作的网络代码将java.security.AccessControlException抛入一个完全沙盒化的Java applet 。 Can’t get socket 2255: java.security.AccessControlException: access denied (“java.net.SocketPermission” “50.31.1.13:2255” “connect,resolve”) Oracle改变了什么 – 必须跳出哪些新的安全箍以保持套接字工作? 这在Java 1.7.0_55和所有以前版本的java中都有效。

在套接字上发送和接收文件

我正在从java服务器向远程Android客户端发送文件。 我使用outputstream写字节。 在读取这些字节时,read()方法在流结束后继续尝试读取字节。 如果我在服务器端关闭输出流,则读取操作工作罚款。 但我必须再次在同一个套接字上写文件,所以无法关闭输出流的任何解决方案? 注意:我的代码适用于共享单个文件 编写文件的代码 public static void writefile(String IP, String filepath, int port, OutputStream out ) throws IOException { ByteFileConversion bfc = new ByteFileConversion(); byte[] file = bfc.FileToByteConversion(filepath); out.write(file, 0, file.length); out.close(); // i donot want to close this and how can I tell reading side that stream is ended. System.out.println(“WRITTEN”); } […]

在线程之间传递信息的最佳方法是什么?

我希望在我的程序正在执行其他操作时收听服务器,当我从服务器收到要解释的消息时。 我知道线程但不完全确定它是如何工作的。 如果我有一个线程监听服务器,我如何将该数据传递给主线程进行解释? 主线程将数据发送到服务器的最佳方法是什么? synchronized修饰符有什么用?

java.net.SocketException:无效的参数:connect

我的新笔记本电脑(Alienware m17x)抛出一个java.net.SocketException: Invalid argument: connect当我运行以下基本代码时java.net.SocketException: Invalid argument: connect : Server.java: public static void main (String[] args) throws Exception { ServerSocket serverSocket = new ServerSocket (8888); Socket socket = serverSocket.accept(); } Client.java: public static void main (String[] args) throws Exception { Socket socket = new Socket (“localhost”, 8888); } 每次我运行Client.java(在启动Server.java之后),我都会收到此套接字exception。 以下是exception的完整描述: Exception in thread “main” java.net.SocketException: […]