java server 和Client

zjjh8877227 2009-12-10 01:17:06
在Eclipse里面,怎么让我的电脑既是Server,又是Client,不需要两台电脑来试验
...全文
143 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
lanegg 2009-12-11
  • 打赏
  • 举报
回复
??
正常情况下就可以啊

Server端 IP就是本机IP 127.0.0.1 你自己设一个端口 监听Client端的连接
然后Client直接连Server端的 IP 加 端口号就可以啊

你是想要聊天通信的实例吗?
wmdtksmld 2009-12-11
  • 打赏
  • 举报
回复
像平常一样啊,建两个类,一个服务器,一个客户端,客户端里指定的IP就是你本机的,把服务器启动起来后,就可以启动客户端了,下面是有两个客户端的,但是不会同时显示出来,你可以在右下角找到一个按钮,是控制台切换的
liujun3512159 2009-12-11
  • 打赏
  • 举报
回复
路过,
lhg_jz88 2009-12-11
  • 打赏
  • 举报
回复
直接在Eclipse 里面run两个main就好了,在下面的console里面会有两个窗口,一个是server,另一个是client, 至于通讯问题就看你的程序怎么写了。
godismydaughter 2009-12-10
  • 打赏
  • 举报
回复
同平时运行没啥区别的。
  • 打赏
  • 举报
回复
用CMD可以。跑两个main函数。
sean1203 2009-12-10
  • 打赏
  • 举报
回复
2个类分别运行
由对应2个console栏里面各显示了对应的main的运行信息
牛叔 2009-12-10
  • 打赏
  • 举报
回复
呵呵,作业是吧?客户端就自己写吧。。。
Socket socket = new Socket("localhost", 4567);

package yang;



import java.io.*;
import java.net.*;
import java.util.Date;

public class SocketS {
public static void main(String[] args) {
try {
ServerSocket server = new ServerSocket(4567);


int No = 1;

while(true) {
Socket fromClient = server.accept();
System.out.println(No);
ThreadSocket t = new ThreadSocket(fromClient, No);
t.start();
No ++;
}
} catch(IOException e) {
e.printStackTrace();
}
}
}
package yang;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;
import java.util.Date;

class ThreadSocket extends Thread {
private Socket s;
private int no;

public ThreadSocket(Socket s, int no) {
this.no = no;
this.s = s;
}

public void run() {
try {
BufferedReader br = new BufferedReader(new InputStreamReader(s
.getInputStream()));
PrintWriter pw = new PrintWriter(new BufferedWriter(
new OutputStreamWriter(s.getOutputStream())));
while (true) {
String str = br.readLine();
System.out.println("From " + no + " Client:" + str);
if (str.equals("?")) {
System.out.println(new Date());
pw.println(new Date());

pw.flush();
} else if (str.equals("exit")) {
pw.close();

break;
} else {
System.out.println(str + " from " + no);
pw.println("牛叔对自己说:"+str);
pw.flush();
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
liujiesmart 2009-12-10
  • 打赏
  • 举报
回复
你用CMD 启动一个就可以
dajiadebeibei9 2009-12-10
  • 打赏
  • 举报
回复
设置服务器监听端口 启动Server
Client 绑定服务器IP:127.0.0.1 绑定服务器端口 连接服务器
霜之哀伤 2009-12-10
  • 打赏
  • 举报
回复
随便了,你写个Main函数把Server函数跑起来,你的机器就是Server了呀。
zjjh8877227 2009-12-10
  • 打赏
  • 举报
回复
public static void server() throws IOException {
ServerSocket sevSoc=new ServerSocket(6000);
Socket soc=sevSoc.accept();
OutputStream opStrm=soc.getOutputStream();
InputStream ipStrm=soc.getInputStream();
opStrm.write("Hello,Welcome you!".getBytes());
byte[] buf=new byte[100];
int len=ipStrm.read(buf);
System.out.print(new String(buf,0,len));
opStrm.close();
ipStrm.close();
soc.close();
sevSoc.close();}
这个代码应该至于何地?Client代码加到原来单机版的某个程序中,而Server的代码是自己建个工程还是怎么样?如何把自己的机器变成Server,小弟概念很模糊第一次接触,望各路好汉指点!!!
霜之哀伤 2009-12-10
  • 打赏
  • 举报
回复
127.0.0.1这个地址就是本机,或者localhost也可以。

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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