之前在学校的时候,有时间但是总是学不进去,现在工作了,总想多学点东西,但是又是没有时间来学习,只能在工作的闲暇之余,给自己充充电,随着学习的深入,越来月发现Java真的很强大,几乎什么都可以做的,以下的socket测试用例很早就写下了,

今天简单整理一下,发出来

1、Java根据域名获取ip

public class SocketTest {

    @SuppressWarnings("static-access")
@Test
public void testInetAddress() throws UnknownHostException { //输出www.geenk.com/122.225.102.194
InetAddress address=InetAddress.getByName("www.geenk.com");
//输出www.geenk.com
String hostname=address.getHostName();
//输出122.225.102.194
String hostAddress=address.getHostAddress();
//获取本机名字和ip IucK_J-PC/192.168.0.183
InetAddress localhost=address.getLocalHost(); System.out.println("address :"+address);
System.out.println("localhost :"+localhost);
System.out.println("hostname :"+hostname);
System.out.println("hostAddress :"+hostAddress); }

2、socket 测试

socket客户端

@Test
public void testSocket() throws UnknownHostException, IOException{ InetAddress address=InetAddress.getByName("127.0.0.1");
//建立客户端的socket的两种方式
//Socket sclient=new Socket("127.0.0.1", 8899);
Socket sclient=new Socket(address, 8000);
//获取输入流
InputStream is=sclient.getInputStream();
BufferedReader br=new BufferedReader(new InputStreamReader(is));
System.out.println("(^_^) :"+br.readLine()); is.close();
br.close(); sclient.close(); }

socket服务器

@Test
public void testServerSocket() throws IOException{
//建立一个服务端的socket
ServerSocket ss=new ServerSocket(8000);
//接受客户端的socket
Socket s=ss.accept();
//用流的方式来接收socket
OutputStream os=s.getOutputStream();
PrintWriter pw=new PrintWriter(os);
pw.write("来自服务端的问候"); pw.close();
os.close(); s.close();
ss.close(); }

运行结果:

注意:在运行socket的单元测试的时候,要先运行服务器端的代码,建立一个socketservice,时刻准备接受socket

java的socket 编程的更多相关文章

  1. 【JAVA】Socket 编程

    对于Java Socket编程而言,有两个概念,一个是ServerSocket,一个是Socket.服务端和客户端之间通过Socket建立连接,之后它们就可以进行通信了.首先ServerSocket将 ...

  2. 【转】java的socket编程

    转自:http://www.cnblogs.com/linzheng/archive/2011/01/23/1942328.html 一,网络编程中两个主要的问题 一个是如何准确的定位网络上一台或多台 ...

  3. 基于java的socket编程

    #开头的废话#学习java已经半个月了,原本在抠教材里面的字眼时,觉得教材好厚,要看完不知道要到猴年马月去了.突然在网上看到一个教程,里面老师说学编程语言书不用太细看,看个大概,知道里面讲些什么就好, ...

  4. Java笔记 - Socket编程

    两个Java应用程序可以通过一个双向的网络通讯连接实现数据交换,这个双向链路的一端称为一个Socket.java.net包中定义的两个类Socket和ServerSocket,分别用来实现双向链路的c ...

  5. JAVA之Socket编程

    网上对Socket的诠释很多,也很全,在这里我就不多说了,总之,现在的网络处处都在使用Socket.本帖是一个Socket的例子,用来模拟一个简单的登录系统,只有核心代码,访问数据库.输入神马的统统没 ...

  6. Java 多线程Socket编程通讯--实现聊天室代码

    1.创建服务器类 import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; import ja ...

  7. Java NIO Socket编程实例

    各I/O模型优缺点 BIO通信模型 BIO主要的问题在于每当有一个新的客户端请求接入时,服务端必须创建一个新的线程处理新接入的客户端链路,一个线程只能处理一个客户端连接 线程池I/O编程 假如所有可用 ...

  8. Java的socket编程中关于bufferedWriter的发送问题

    BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())); String send ...

  9. 【Java】socket编程,输入输出中的问题

    BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream())); PrintWri ...

随机推荐

  1. POJ2524——Ubiquitous Religions

    Ubiquitous Religions Description There are so many different religions in the world today that it is ...

  2. Android tab_Host页面跳转,传值,刷新等问题汇总

    之前做了一个项目是关于Tab_Host的,现在完成了恰逢闲余写份总结,主要涉及里面遇到问题以及解决方案的. (首先说明这份代码是在eoe 下载的,这里感谢分享的那位朋友,限于我的工程是公司的不能拿出来 ...

  3. node.js 模块和包

    Node.js 的模块和包机制的实现参照了 CommonJS 的标准,但并未完全遵循.不过两者的区别并不大,一般来说你大可不必担心,只有当你试图制作一个除了支持 Node.js之外还要支持其他平台的模 ...

  4. linux下tar压缩/解压的使用(tar) 压缩/解压

    压缩: tar  -zcvf   压缩后文件名.tar.gz   被压缩文件 解压: tar  -zxvf  被解压文件 具体的可以在linux环境下 用 tar --help 查看详细说明格式:ta ...

  5. JAX-RS入门 三 :细节

    一.若希望一个Java类能够处理REST请求,则这个类必须至少添加一个@Path("/")的annotation:对于方法,这个annotation是可选的,如果不添加,则继承类的 ...

  6. ♫【jQuery插件】图片放大镜

    JQZoom

  7. 利用IE/FF的不同识别CSS来使用浏览器兼容问题

    区别IE6与FF: background:orange;*background:blue; 区别IE6与IE7: background:green !important;background:blue ...

  8. Spring AOP前置通知和后置通知

    Spring AOP AspectJ:Java社区里最完整最流行的AOP框架 在Spring2.0以上的版本中,可以使用基于AspectJ注解或基于XML配置的AOP 在Spring中启用Aspect ...

  9. HDU 5288 OO’s Sequence

    题意:给一个序列,函数f(l, r)表示在[l, r]区间内有多少数字不是其他数字的倍数,求所有区间的f(l, r)之和. 解法:第一次打多校……心里还有点小激动……然而一道签到题做了俩点……呜呜呜… ...

  10. Ildasm.exe(MSIL 反汇编程序)

    MSIL 反汇编程序是 MSIL 汇编程序 (Ilasm.exe) 的伙伴工具. Ildasm.exe 采用包含 Microsoft 中间语言 (MSIL) 代码的可迁移可执行 (PE) 文件,并创建 ...