JAVA 网络编程如何与多线程结合??? JAVA 网络编程如何与多线程结合???列如:两个类client和server分别为客户端和服务器。如何用多线程的方法实现客户端、服务器端同时可以收、发信息?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我想弱弱的问下,java网络编程主要用在什么地方呢? Server端每个Client放在一个线程里如果不想使用线程,也可以使用nio 我个人觉得是这样的:由server实时侦听由client 发来的connect消息,一旦收到一个client 发来的connect请求,server就 生成一个线程,而自己则回到wait状态, 那个线程完全负责与对应client的通信,至于同步,主要是可以让server和client共享一些数据,两者都可以修改这些数据,就构成了同步。 Server端:package org.exam4;import java.net.*;import java.io.*;public class T4Server { public static void main(String[] args) throws Exception { ServerSocket server = new ServerSocket(5678); while (true) { Socket s = server.accept(); MyThread t = new MyThread(s); t.start(); } }}class MyThread extends Thread { Socket s; public MyThread(Socket s) { this.s = s; } public void run() { BufferedReader in; try { in = new BufferedReader(new InputStreamReader(s.getInputStream())); PrintWriter out = new PrintWriter(s.getOutputStream(), true); String line = null; while ((line = in.readLine()) != null) { out.println("Receive"); } s.close(); } catch (IOException e1) { e1.printStackTrace(); } }}Client端:package org.exam4;import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.Socket;public class T4Client { public static void main(String[] args)throws Exception { Socket s = new Socket("localhost",5678); BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream())); PrintWriter out = new PrintWriter(s.getOutputStream(), true); BufferedReader keyin = new BufferedReader(new InputStreamReader(System.in)); String line ; while((line=keyin.readLine())!=null){ if("End".equals(line)){ s.close(); } else{ out.println(line); System.out.println(in.readLine()); } } }} 3个很有意思的问题??? 弹出窗口的问题 Javamail Pop3 删除邮件出问题 请教一个关于数字转换为字符串的问题 各位大虾帮我看下有什么好点的方法从33个数中选6组合,并放到一个数组中 刚看到一句经典的话 出错了 关于JSP的问题! 欢迎大家加入我的群"华南软件技术基地",群QQ为8373474,一起提高啊 请各位大虾多多帮忙!~ 急 (在线等) 一个关于java console 的问题 线程同步问题不知到哪里出错了 swing下拉框显示表格内容
如果不想使用线程,也可以使用nio
import java.io.*;public class T4Server { public static void main(String[] args) throws Exception {
ServerSocket server = new ServerSocket(5678);
while (true) {
Socket s = server.accept();
MyThread t = new MyThread(s);
t.start();
}
}
}class MyThread extends Thread {
Socket s; public MyThread(Socket s) {
this.s = s;
} public void run() {
BufferedReader in;
try {
in = new BufferedReader(new InputStreamReader(s.getInputStream())); PrintWriter out = new PrintWriter(s.getOutputStream(), true);
String line = null;
while ((line = in.readLine()) != null) {
out.println("Receive");
}
s.close();
} catch (IOException e1) {
e1.printStackTrace();
} }
}Client端:package org.exam4;import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;public class T4Client { public static void main(String[] args)throws Exception {
Socket s = new Socket("localhost",5678);
BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream()));
PrintWriter out = new PrintWriter(s.getOutputStream(), true);
BufferedReader keyin = new BufferedReader(new InputStreamReader(System.in));
String line ;
while((line=keyin.readLine())!=null){
if("End".equals(line)){
s.close();
}
else{
out.println(line);
System.out.println(in.readLine());
}
}
}}