A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 天ya~_琼楼 中级黑马   /  2013-11-30 16:38  /  1028 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 天ya~_琼楼 于 2013-12-1 11:34 编辑
  1. import java.io.*;
  2. import java.net.*;
  3. class  TcpClient
  4. {
  5.         public static void main(String[] args) throws Exception
  6.         {
  7.                 //创建客户端的socket服务。指定目的主机和端口
  8.                 Socket s = new Socket("127.0.0.1",10003);
  9.                
  10.                 //为了发送数据,应该获取socket流中的输出流。
  11.                 OutputStream out = s.getOutputStream();

  12.                 out.write("tcp ge men lai le ".getBytes());


  13.                 s.close();
  14.         }
  15. }




  16. class  TcpServer
  17. {
  18.         public static void main(String[] args) throws Exception
  19.         {
  20.                 //建立服务端socket服务。并监听一个端口。
  21.                 ServerSocket ss = new ServerSocket(10003);

  22.                 //通过accept方法获取连接过来的客户端对象。
  23.                 while(true)
  24.                 {
  25.                 Socket s = ss.accept();

  26.                 String ip = s.getInetAddress().getHostAddress();
  27.                 System.out.println(ip+".....connected");

  28.                 //获取客户端发送过来的数据,那么要使用客户端对象的读取

  29. 流来读取数据。
  30.                 InputStream in = s.getInputStream();
  31.                
  32.                 byte[] buf = new byte[1024];
  33.                 int len = in.read(buf);

  34.                 System.out.println(new String(buf,0,len));

  35.                 s.close();//关闭客户端.
  36.                 }
  37.                 //ss.close();
  38.         }
  39. }
复制代码

毕老师视频中讲UDP的发送和接收、TCP的客户端和服务端时说为了咱们看着方便,写在一个文件里面。
这样的话一个Java文件里就会有两个主函数,而且类名和文件名也不一样,他是怎么编译通过的?
如果分开成两个文件,那么在eclips里怎么运行?

评分

参与人数 1技术分 +1 黑马币 +6 收起 理由
枫儿 + 1 + 6 神马都是浮云

查看全部评分

2 个回复

倒序浏览
      当类被  public 修饰的时候  必须要保持类名和文件名一致      这个是默认的就没事了,直接javac 文件名编译
     编译后会生成另个.class文件  直接java .class文件名  运行就行了
     在eclipse运行就得建两个类文件了

评分

参与人数 1技术分 +1 黑马币 +6 收起 理由
枫儿 + 1 + 6 赞一个!

查看全部评分

回复 使用道具 举报
一个java文件中只能有一个public权限的类,并且同名,其他没有要求,编译又不是执行,只是翻译成字节码文件,两个main接口,相当于两个进程,JVM分开执行就可以了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马