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 ...
随机推荐
- java事务管理(二)
数据库事务和Spring事务是一般面试都会被提到,很多朋友写惯了代码,很少花时间去整理归纳这些东西,结果本来会的东西,居然吞吞吐吐答不上来. 下面是我收集到一些关于Spring事务的问题,希望能帮助大 ...
- ORACLE【2】:锁机制及解锁
1. 锁的基本知识 根据要保护的对象不同,oracle的数据锁可以分成以下几类:DML锁,(data locks)数据锁,用于保护数据的完整性:DDL锁(dictionary locks),用于保护数 ...
- javascript在页面head内动态插入style
纯js实现: var css = 'h1 { background: red; }', head = document.getElementsByTagName('head')[0], style = ...
- LeetCode Product of Array Except Self (除自身外序列之积)
题意:给一个序列nums,要求返回一个序列ans,两序列元素个数相同,ans第i个元素就是除了nums[i]之外所有的数相乘之积. 思路:时间O(n),额外空间O(0). 第一次扫一遍,处理nums[ ...
- 【转】iOS 宏(define)与常量(const)的正确使用-- 不错
原文网址:http://www.jianshu.com/p/f83335e036b5 在iOS开发中,经常用到宏定义,或用const修饰一些数据类型,经常有开发者不知怎么正确使用,导致项目中乱用宏与c ...
- Android 删除短信
1.删除短信的函数,一条一条的删除所有短信 /* * Delete all SMS one by one */ public void deleteSMS() { try { ContentResol ...
- HDU 1405 The Last Practice
The Last Practice Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...
- cdn是什么和作用有些
内容分发网络其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快.更稳定.通过在网络各处放置节点服务器所构 成的在现有的互联网基础之上的一层智能虚拟网络,CDN系 ...
- HDU 5965 Gym Class 贪心+toposort
分析:就是给一些拓补关系,然后求最大分数,所以贪心,大的越靠前越好,小的越靠后越好 剩下的就是toposort,当然由于贪心,所以使用优先队列 #include <iostream> #i ...
- CentOS 7 nfs客户端挂载问题
配置nfs服务器时,服务器端挂载没有问题,但是客户端挂载时提示:mount.nfs: Connection timed out 解决方法1: 关闭firewalld # systemctl stop ...