【发布时间】:2012-10-12 18:53:24
【问题描述】:
好的,我正在尝试设置一个程序,我必须从套接字接收数据,并将数据发送到套接字。我很难理解如何让套接字的客户端发送特定数据,然后让服务器端发送特定数据。这是我目前拥有的,它只是我的服务器端,因为到目前为止我真的迷失在客户端部分。
为了进一步评估,我想按照下面列出的方法做,但我不知道要研究什么来编写套接字的客户端,如果有任何代码我需要重写服务器端?
package sockets;
import java.net.*;
import java.io.*;
public class SocketMain {
private int port = 0;
public ServerSocket socket;
public Socket clientSock;
public SocketMain() {
init();
}
public static void main(String[] args) {
new SocketMain();
}
private void init() {
try {
socket = new ServerSocket(port);
System.out.println("Server started, bound to port: "+port);
clientSock = socket.accept();
File directory = new File("./Storage/");
if (!directory.exists()) {
directory.mkdirs();
}
File file = new File(directory + "/Store.dat");
if (!file.exists()) {
file.createNewFile();
}
DataInputStream in = new DataInputStream(clientSock.getInputStream());
FileWriter fw = new FileWriter(file);
BufferedWriter bw = new BufferedWriter(fw);
String line;
while ((line = in.readLine()) != null) {
System.out.println(line);
bw.write(line+"\n");
bw.flush();
bw.close();
}
socket.close();
clientSock.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
【问题讨论】:
-
为什么要捕获 IOException?
-
您有什么特别的问题吗?你到底卡在哪里了?
-
抱歉,我添加了一张图片来帮助解释我需要做什么,我很好奇如何在客户端指定数据以供服务器读取。