java的socket 编程
之前在学校的时候,有时间但是总是学不进去,现在工作了,总想多学点东西,但是又是没有时间来学习,只能在工作的闲暇之余,给自己充充电,随着学习的深入,越来月发现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 编程的更多相关文章
- 【JAVA】Socket 编程
对于Java Socket编程而言,有两个概念,一个是ServerSocket,一个是Socket.服务端和客户端之间通过Socket建立连接,之后它们就可以进行通信了.首先ServerSocket将 ...
- 【转】java的socket编程
转自:http://www.cnblogs.com/linzheng/archive/2011/01/23/1942328.html 一,网络编程中两个主要的问题 一个是如何准确的定位网络上一台或多台 ...
- 基于java的socket编程
#开头的废话#学习java已经半个月了,原本在抠教材里面的字眼时,觉得教材好厚,要看完不知道要到猴年马月去了.突然在网上看到一个教程,里面老师说学编程语言书不用太细看,看个大概,知道里面讲些什么就好, ...
- Java笔记 - Socket编程
两个Java应用程序可以通过一个双向的网络通讯连接实现数据交换,这个双向链路的一端称为一个Socket.java.net包中定义的两个类Socket和ServerSocket,分别用来实现双向链路的c ...
- JAVA之Socket编程
网上对Socket的诠释很多,也很全,在这里我就不多说了,总之,现在的网络处处都在使用Socket.本帖是一个Socket的例子,用来模拟一个简单的登录系统,只有核心代码,访问数据库.输入神马的统统没 ...
- Java 多线程Socket编程通讯--实现聊天室代码
1.创建服务器类 import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; import ja ...
- Java NIO Socket编程实例
各I/O模型优缺点 BIO通信模型 BIO主要的问题在于每当有一个新的客户端请求接入时,服务端必须创建一个新的线程处理新接入的客户端链路,一个线程只能处理一个客户端连接 线程池I/O编程 假如所有可用 ...
- Java的socket编程中关于bufferedWriter的发送问题
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())); String send ...
- 【Java】socket编程,输入输出中的问题
BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream())); PrintWri ...
随机推荐
- Retrofit初识
Retrofit Retrofit是一套RESTful架构的Android(Java)客户端实现,基于注解,提供JSON to POJO(Plain Ordinary Java Object,简单Ja ...
- 概率图模型之有向图与无向图之间的关系 I map D map perfect map(完美图) 概念
我们已经讨论了有向图和无向图框架下的概率模型,那么我们有必要讨论一下它们二者的关系.
- PHP session过期时间
如何设置一个严格30分钟过期的Session 今天在我的微博(Laruence)上发出一个问题: 我在面试的时候, 经常会问一个问题: “如何设置一个30分钟过期的Session?”, 大家不要觉得看 ...
- WPF 中如何使用第三方控件 ,可以使用WindowsFormsHost 类
允许在 WPF 页面上承载 Windows Forms控件的元素. 命名空间: System.Windows.Forms.Integration 程序集: WindowsFormsIntegr ...
- HAOI2011 problem b
2301: [HAOI2011]Problem b Time Limit: 50 Sec Memory Limit: 256 MBSubmit: 1047 Solved: 434[Submit][ ...
- [POJ 3788] Interior Points of Lattice Polygons
同swustoj 169 Interior Points of Lattice Polygons Time Limit: 1000MS Memory Limit: 65536K Total Sub ...
- 探秘Java虚拟机——内存管理与垃圾回收
本文主要是基于Sun JDK 1.6 Garbage Collector(作者:毕玄)的整理与总结,原文请读者在网上搜索. 1.Java虚拟机运行时的数据区 2.常用的内存区域调节参数 -Xms:初始 ...
- 【转】Cocos2d-x 弹出对话框的设计与实现
转自:http://www.tairan.com/archives/4854 我们时常需要这么些功能,弹出一个层,给与用户一些提示,这也是一种模态窗口,在没有对当前对话框进行确认的时候,不能继续往下操 ...
- Spring AOP--返回通知,异常通知和环绕通知
在上篇文章中学习了Spring AOP,并学习了前置通知和后置通知.地址为:http://www.cnblogs.com/dreamfree/p/4095858.html 在本文中,将继续上篇的学习, ...
- WCF 实例化与会话
实例管理旨在解决服务实例的激活和服务实例生命周期的控制,会话的目的是在于保持相同客户端(服务代理)多次服务调用的状态. 实例上下文 实例上下文是对服务实例的封装,是WCF管理服务实例生命周期的依托,S ...