【发布时间】:2014-02-26 09:18:59
【问题描述】:
我想在我的 Java 套接字程序中实现多线程。到目前为止,我已经尝试了单个连接并且它可以工作,但是由于是单个连接,因此过程很慢。为了使多线程处理更快,我应该如何进行?
import java.io.BufferedInputStream;
import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;
public class MRPosting {
public static String MRPost(String strRequestMessage, String strIP,
int intPort) throws Exception {
String strResponseMessage = "";
try{
Socket socket = null;
socket = new Socket(strIP, intPort);
BufferedInputStream bin = new BufferedInputStream(
socket.getInputStream());
PrintWriter pw1 = new PrintWriter(new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream())), true);
pw1.println(strRequestMessage);
pw1.flush();
strResponseMessage = readInputStream(bin);
socket.close();
socket = null;
}catch(Exception e){
strResponseMessage = "ERROR:MRPORT_JAVA:"+e.toString();
return strResponseMessage;
}
return strResponseMessage;
}
public static String readInputStream(BufferedInputStream in)
throws Exception {
String read_msg = "";
int i = in.read();
if (i == -1) {
return "-1";
}
read_msg = read_msg + (char) i;
int available = in.available();
if (available > 0) {
byte[] Data = new byte[available];
in.read(Data);
read_msg = read_msg + new String(Data);
}
return read_msg;
}
}
【问题讨论】:
-
到目前为止,您还没有展示您使用线程尝试过的内容
标签: java multithreading sockets