
两者都可以不过java的垃圾回收机制因为是自动的所以执行客户端程序的时候效率特别慢一般用于服务器端或WEB开发学java的重点就是以j2ee技术为核心的。想写客户端之类的用C语言是最佳的不过内存处理机制全部自己编写难度不是一般的高。
如果只有自己电脑连,局域网不能连,那有可能是端口没有开放,请关闭防火墙试试,
如果你想让外网的电脑访问,那你得有固定IP,(公网IP 或者用花生壳,域名转发,并且路由器需要做映射)
我给你一个类似的代码,你自己改一下就可以了,我不给你该了。希望对你有所帮助!
<----------------------服务器端------------------------------->
//实现多线程的网络连接
package cnsocket;
import javaio;
import javanet;
public class SocketServerTrue {
public SocketServerTrue()
{
try {
//服务器开启一个端口
Systemoutprintln("等待连接");
ServerSocket ss= new ServerSocket(8090);
//等待连接,返回socket类型的对象
Socket s=ssaccept();
Systemoutprintln("连接成功,等待客户端输入信息!");
//得到客户端的信息
InputStreamReader isr=new InputStreamReader(sgetInputStream());
BufferedReader br=new BufferedReader(isr);
//向客户端传递信息
PrintWriter pw=new PrintWriter(sgetOutputStream(),true);
//实现从控制台输入数据
InputStreamReader isrS=new InputStreamReader(Systemin);
BufferedReader brS=new BufferedReader(isrS);
while(true)
{
//得到客户端的信息
String info=brreadLine();
//判断是否结束
if(infoequals("bye"))
{
Systemoutprintln("对话结束!");
sclose();
break;
}
Systemoutprintln("对方说:"+info);
//给客户端传递信息
String infoC=brSreadLine();
pwprintln(infoC);
if(infoCequals("bye"))
{
Systemoutprintln("对话结束!");
sclose();
break;
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
}
/
@param args
/
public static void main(String[] args) {
// TODO Auto-generated method stub
SocketServerTrue ssm=new SocketServerTrue();
}
}
<---------------------------客户端-------------------------->
//客户端的(多线程)
package cnsocket;
import javaio;
import javanet;
public class SocketClientTrue {
public SocketClientTrue()
{
//去连接服务器
try {
Socket s=new Socket("127001",8090);
Systemoutprintln("连接成功,给服务器说话!");
//向服务器传递的信息
PrintWriter pw=new PrintWriter(sgetOutputStream(),true);
//得到服务器信息
InputStreamReader isr=new InputStreamReader(sgetInputStream());
BufferedReader br=new BufferedReader(isr);
//从控制台输入信息
InputStreamReader isrC=new InputStreamReader(Systemin);
BufferedReader brC=new BufferedReader(isrC);
while(true)
{
//给服务器说话
String infoS=brCreadLine();
pwprintln(infoS);
if(infoSequals("bye"))
{
Systemoutprintln("对话结束!");
sclose();
break;
}
//得到服务器的信息
String info=brreadLine();
if(infoequals("bye"))
{
Systemoutprintln("对话结束!");
sclose();
break;
}
Systemoutprintln("对方说:"+info);
}
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
eprintStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
}
/
@param args
/
public static void main(String[] args) {
// TODO Auto-generated method stub
SocketClientTrue scm=new SocketClientTrue();
}
}
;
服务器端:
public class Server{
public static void main(String[] args){
ServerSocket ss = new ServerSocket(端口号);
Socket s = ssaccept();
BufferedReader br = new BufferedReader(new InputStreamReader(sgetInputStream()));
String str = brreadLine();
Systemoutprintln(str);
brclose();
sclose();
ssclose();
}
}
客户端:
public class Client{
public static void main(String[] args){
Socket s = new Socket(ip,端口)
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(sgetOutputStream()));
bwwrite("hello");
bwflush();
bwclose();
sclose();
}
}
先启动服务器端在启动客户端,两个端口要一致,如果是同一台电脑的ip可写为"127001"
如何用Java实现Web服务器 一、>
以上就是关于Java用来编写客户端还是服务器端全部的内容,包括:Java用来编写客户端还是服务器端、用JAVA写服务器端程序,只有自己的电脑可以连接上、编写一个Java网络应用程序,该应用分服务器端程序和客户端程序两部分等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)