我用线程方式写的客户服务器程序调不通

liuxinchen136 2012-02-29 02:55:52
我在Ubuntu系统下安装的eclipse环境,在上面用线程方式将客户端程序与服务器端程序写在一个程序中的,可是调不通,还请各位高手指点。请问怎么进行测试啊,在不联网的情况下测得通不?我的程序:
package Server_ClientDemo1;
import java.io.*;
import java.net.*;
public class Server_ClientDemo1 {
public static void main(String[] args){
Server ser=new Server();
Client clt=new Client();
Thread th1=new Thread(ser);
Thread th2=new Thread(clt);
th1.start();
th2.start();
}
}
class Server implements Runnable{
int index=0;
int serverPort=100;
int clientPort=200;
int b_size=60;
byte[] buf=new byte[b_size];
public void run(){
try{
InetAddress iads=InetAddress.getByName("127.0.0.1");
DatagramSocket dSocket=new DatagramSocket(serverPort);
int c;
while((c=System.in.read())!='\n'){
switch(c){
case '\r':break;
default:buf[index]=(byte)c;
index++;
}
}
DatagramPacket dp=new DatagramPacket(buf,index,iads,clientPort);
dSocket.send(dp);
}

catch(Exception e){
e.printStackTrace(System.out);
}
}
}
class Client implements Runnable{
int index=0;
int clientPort=200;
int b_size=60;
byte[] buf=new byte[b_size];
public void run(){
try{
DatagramSocket dSocket=new DatagramSocket(clientPort);
DatagramPacket dp=new DatagramPacket(buf,b_size);
dSocket.receive(dp);
String s=new String(dp.getData(),0,dp.getLength());
System.out.println(s);
}
catch(Exception e){
e.printStackTrace(System.out);
}
}
}
...全文
56 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
安特矮油 2012-02-29
  • 打赏
  • 举报
回复
windows xp 系统下测试没问题

51,408

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧