编写一个Java网络应用程序,该应用分服务器端程序和客户端程序两部分
import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.ServerSocket;import java.net.Socket;public class Server { public static void main(String[] args) { new Server().start(); } public void start( ) { Socket s = null; ServerSocket ss = null; try { ss = new ServerSocket(5678); System.out.println("侦听端口 5678..."); while((s = ss.accept())!=null){ new ReadThread(s).start(); } } catch (IOException e) { e.printStackTrace(); }finally{ try { if(ss!=null){ ss.close(); } } catch (IOException e) { e.printStackTrace(); } } } class ReadThread extends Thread{ Socket s; public ReadThread(Socket s){ this.s=s; } public void run(){ try{ BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream())); PrintWriter wr = new PrintWriter(s.getOutputStream()); String line; while((line=br.readLine())!=null){ wr.println("Receive"); wr.flush(); if("exit".equalsIgnoreCase(line)){ break; } System.out.println(line); } } catch (IOException e) { e.printStackTrace(); } if(s!=null){ try { s.close(); } catch (IOException e) { e.printStackTrace(); } } } }}请参考
看了楼主的题目 我只是觉得我的JAVA完全是白学了!
我给你一个类似的代码,你自己改一下就可以了,我不给你该了。希望对你有所帮助!<----------------------服务器端------------------------------->
//实现多线程的网络连接
package cn.socket;
import java.io.*;
import java.net.*;
public class SocketServerTrue {
public SocketServerTrue()
{
try {
//服务器开启一个端口
System.out.println("等待连接...");
ServerSocket ss= new ServerSocket(8090);
//等待连接,返回socket类型的对象
Socket s=ss.accept();
System.out.println("连接成功,等待客户端输入信息!");
//得到客户端的信息
InputStreamReader isr=new InputStreamReader(s.getInputStream());
BufferedReader br=new BufferedReader(isr);
//向客户端传递信息
PrintWriter pw=new PrintWriter(s.getOutputStream(),true);
//实现从控制台输入数据
InputStreamReader isrS=new InputStreamReader(System.in);
BufferedReader brS=new BufferedReader(isrS);
while(true)
{
//得到客户端的信息
String info=br.readLine();
//判断是否结束
if(info.equals("bye"))
{
System.out.println("对话结束!");
s.close();
break;
}
System.out.println("对方说:"+info);
//给客户端传递信息
String infoC=brS.readLine();
pw.println(infoC);
if(infoC.equals("bye"))
{
System.out.println("对话结束!");
s.close();
break;
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
SocketServerTrue ssm=new SocketServerTrue();
}
}
<---------------------------客户端-------------------------->
//客户端的(多线程)
package cn.socket;
import java.io.*;
import java.net.*;
public class SocketClientTrue {
public SocketClientTrue()
{
//去连接服务器
try {
Socket s=new Socket("127.0.0.1",8090);
System.out.println("连接成功,给服务器说话!");
//向服务器传递的信息
PrintWriter pw=new PrintWriter(s.getOutputStream(),true);
//得到服务器信息
InputStreamReader isr=new InputStreamReader(s.getInputStream());
BufferedReader br=new BufferedReader(isr);
//从控制台输入信息
InputStreamReader isrC=new InputStreamReader(System.in);
BufferedReader brC=new BufferedReader(isrC);
while(true)
{
//给服务器说话
String infoS=brC.readLine();
pw.println(infoS);
if(infoS.equals("bye"))
{
System.out.println("对话结束!");
s.close();
break;
}
//得到服务器的信息
String info=br.readLine();
if(info.equals("bye"))
{
System.out.println("对话结束!");
s.close();
break;
}
System.out.println("对方说:"+info);
}
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
SocketClientTrue scm=new SocketClientTrue();
}
}
;
wanzheng
..你要完整程序?
java和网络连接方面的问题。
1、检查一下是不是防火墙的问题,关掉试一试 2、ping一下看能否通,或者不要写成localhost,直接写IP地址,比如telnet 192.168.1.23 8888 3、检查一下端口是否被暂用。命令行输入netstat -ano,具体看图 4、重启一下电脑,看能否通,不行的话检查一下telnet 命令,环境变量神马的。
怎么创建一个软件
问题八:如何用Eclipse建立一个Java应用程序 如何用Eclipse建立一个Java应用程序: 材料\/工具 Eclipse 方法 1、file--> new -->java Project 2、在Project name处写入项目的名称,点击finish就可以了。 这样就创建完成了,然后继续创建class,就可以编写代码了。 问题九:电脑新建一个用户,为什么安装不了软件 ...
强大 使用 的 网络编程语言是什么? 还能写软件
健壮的(Robust):由Java所编写出的程序能在多种情况下执行而具有其稳定性。Java与 C\/C++最大不同点是Java有一个指针模型(Pointer Model)来排除内存被覆盖(Overwriting Memory)和毁损数据(Corrupting Data)的可能性。 安全的(Secure):Java是被设计用于网络及分布式的环境中,安全性自必是一个很 重要的考虑。Java...
一个java项目中的软件环境、硬件环境、开发工具具体指的什么啊_百度知...
ava语言其实最早诞生于1991年,起初被称为OAK语言,是SUN公司为一些消费性电子产品而设计的一个通用环境。他们最初的目的只是为了开发一种独立于平台的软件技术,而且在网络出现之前,OAK可以说是默默无闻,甚至差点夭折。但是,网络的出现改变了OAK的命运。在Java出现以前,Inter上的信息内容都是一些乏味...
这几个Java网站大学生福音!
这是一个非常不错的学习 Java 的在线网站,纯免费。这是一个个人项目,旨在通过简单有效的在浏览器中进行练习让你快速掌握 Java 编程语言。通过直接从网络浏览器运行实际代码,你无需在本地安装和执行代码就可以尝试编码,这无疑提高了编程效率和上手效率。你可以根据目录进行练习,有基础部分和高级部分首先有例子代码,告...
急需一个用java 语言写的聊天程序
注意:用户信息一旦修改成功,其在线好友只能重新登录后,才会显示更新后的个人信息。 本人是java 的初学者 请一定要有注释说明 希望是用java基础和核心技术的内容来写(图形界面设计 线程 网络协议 等等 )万分感谢了 展开 我来答 2个回答 #热议# 武大靖在冬奥的表现,怎么评价最恰当?qw0431 推荐于2017-09-21 ...
一个高级java工程师需要具备什么能力和技术
1. Core Java基础 精通面向对象编程(OOP)、字符串处理、常用包(java.lang、java.util等)以及异常处理。2. Java高级特性 掌握I\/O流、多线程技术、网络编程、Swing等高级特性。3. 前端技能 掌握HTML、CSS、JavaScript,以及JQuery等前端技术。4. JSP和Servlet 熟练使用JSP和Servlet进行Web开发。5. ...
用Java判断一个URL是否有效的两种方法
} catch (Exception e1) { System.out.println("连接打不开!"); url = null; } } } 2 import java.net.HttpURLConnection;import java.net.URL;\/*** 文件名称为:URLAvailability.java* 文件功能简述: 描述一个URL地址是否有效* @author Jason* @time 2010-9-14 * *\/pub...
java写网站的时候是一个service里调用多个dao?
如北京服务器是处理1 新闻内容业务,上海服务器是处理2用户操作的业务,而新闻dao写在用户dao里面。当北京服务器我进行1业务时候还得通过网络进行远程调用新闻dao,而网络在高峰期时候可能出现1kb\/s的情况,可想而知道该系统必将淘汰。总结一下:当一些业务经常要修改我们要制定接口,当系统非常庞大也要...
求一个关于JAVA的论文
是基于java的,小弟急用,谢谢!用RMI开发基于Java的企业分布式应用我站还提供更多的免费计算机论文,但免费论文仅供参考,建议广大网友下载后不要轻易采用。摘要由于Java具有跨平台、代码可移植性、安全高效等广泛而强大的功能,因而在开发网络分布式应用的时候,可以用它自身的机制实现分布式计算,一种基于Java的...
成王保阿司: 我给你一个类似的代码,你自己改一下就可以了,我不给你该了.希望对你有所帮助!//实现多线程的网络连接 package cn.socket; import java.io.*; import java.net.*; public class SocketServerTrue { public SocketServerTrue() { try { //服务器开启一...
公安县15316774610: 编写一个Java Application应用程序,如何编写能实现以下效果??
成王保阿司: 用记事本写一个Test.java的文件public class Test{public static void main(String[] args){System.out.println("Welcome to Java World!");} } 进入CMD转换到你这个文件所在的目录下然后编译输入javac Test.java java Test就可以出来
公安县15316774610: JAVA如何编写一个应用程序.需要学习哪些方面的知识?希望高手们指点,给我一个明确的方向,谢谢. - ?
成王保阿司: 1,桌面程序方向:javaSE 基础,特别是多线程、socket、swing、集合类2, web 方向:servlet\jsp html css 然后...
公安县15316774610: Java Application是什么,怎么编写相应程序 - ?
成王保阿司: java Application 就是Java应用程序 public class Student {public static void main(String[] args) {Student student = new Student();} }
公安县15316774610: 编写一个JAVA程序 - ?
成王保阿司: import java.util.Date; class Telephone{ private String brand; private String phoneNum; private int seconds; private double rate; public String getBrand() { return brand; } public void setBrand(String brand) { this.brand = brand; } public String ...
公安县15316774610: 编写一个JAVA Application程序, - ?
成王保阿司: import java.awt.event.ActionEvent; import java.awt.event.ActionListener;import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JTextArea; import javax.swing.JTextField; import javax.swing....
公安县15316774610: 编译java程序的命令是什么?运行java应用程序的命令是什么?? - ?
成王保阿司: 当前默认目录为C盘Users文件夹下的Administrator文件夹.一般而言,我们习惯改变当前目录.由于windows有磁盘分区,若要跳到其他磁盘,例如E盘,有几种方法: 1、输入命令: pushd 路径(此命令可将当前目录设为所希望的任一个已存...
公安县15316774610: 用JAVA编写一个应用程序 - ?
成王保阿司: //Lader类 class Lader { double shangDi; //上底 double xiaDi; //下底 double heigth; //高 double area; //面积 //下面是构造方法 public Lader(double shangDi,double xiaDi,double heigth){ this.shangDi=shangDi; this.xiaDi=xiaDi; this.heigth=heigth...
公安县15316774610: 编写一个Java应用程序,该程序读取从键盘输入的一行文本并将其存储到文件aaa.txt中 - ?
成王保阿司: import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.util.Scanner; public class OutputA { public static void main(String [] args){ 度Scanner sc=new Scanner(System.in); String s=sc.nextLine(); System.out....
公安县15316774610: 怎样编写一个Java应用程序,实现向屏幕中输入一句话:“你好,这是我的第一个Java程序”呢? - ?
成王保阿司: 你可以下载一个Eclipse插件 首先呢 新建一个Java项目 新建一个包 然后新一个类 在main()函数里面输入 System.println("你好,这是我的第一个Java程序")