java 编写网络客户/服务器程序,实现如下功能: (1)设计服务器程序,运行时等待客户端连接; (2)客户

(2)客户端在启动时与服务器建立连接;(3)客户端发送消息,服务器收到该消息后,将其中的所有小写字符转换为大写字符,发回给客户端;(4)客户端收到服务器发回的消息后,在界... (2)客户端在启动时与服务器建立连接;
(3)客户端发送消息,服务器收到该消息后,将其中的所有小写字符转换为大写字符,发回给客户端;
(4)客户端收到服务器发回的消息后,在界面上显示。
新手木有悬赏分,跪求了!!!!
展开
 我来答
种危c
2013-06-10
知道答主
回答量:10
采纳率:0%
帮助的人:4万
展开全部
Server:
package s;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
  public class Server {
public static void main(String[] args) throws IOException {
ServerSocket server = new ServerSocket(10001);
while (true) {
Socket socket = server.accept();
System.out.println("a socket in");
new UpderDeal(socket).start();
}
}
}
class UpderDeal extends Thread {
private Socket s = null;
public UpderDeal(Socket s) {
this.s = s;
}
public void run() {
byte[] b = new byte[1024];
String msg = null;
int len = 0;
try {
while (true) {
len = s.getInputStream().read(b);
msg = new String(b, 0, len);
msg = msg.toUpperCase();
s.getOutputStream().write(msg.getBytes());
}
  } catch (IOException e) {
e.printStackTrace();
}
}
}

  Client:
package c;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;
public class Client {
public static void main(String[] args) throws UnknownHostException,
IOException {
Socket socket = new Socket("localhost", 10001);
OutputStream out = socket.getOutputStream();
InputStream in = socket.getInputStream();
String msg = null;
Scanner sc = new Scanner(System.in);
new Recieve(in).start();
  while (true) {
msg = sc.next();
if (msg.equals("exit")) {
break;
}
System.out.println("发出的信息:" + msg);
out.write(msg.getBytes());
  }
}
}
class Recieve extends Thread {
private InputStream in = null;
  public Recieve(InputStream in) {
this.in = in;
}
public void run() {
byte[] b = new byte[1024];
int len = 0;
while (true) {
try {
len = in.read(b);
System.out.println("收到的信息为:" + new String(b, 0, len));
} catch (IOException e) {
e.printStackTrace();
}
}
}
}

希望可以帮到你,还有一种异步用SocketChannel的,我也怎么用过,可以网上参考一下。  
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Stale331x
2013-06-10 · TA获得超过1299个赞
知道小有建树答主
回答量:1276
采纳率:33%
帮助的人:835万
展开全部
不就是一个socket编程吗。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式