对于网络实时交互的话就需要用到TCP/IP通讯。用到TCP/IP通讯的话,就不得不说到Socket了。它非常容易上手。现在下面给大家show一个简单的例子。
首先是写一个服务端,服务端只要实现或者创建ServerScoket就行。然后我们就要做一个死循环,让他不停的接收请求,接收请求之后,他会把每个会话,封闭成一个Socket对象。我们可以在这个对象中,发送,读取信息,与客户端进行交互。
public class SocketServer extends ServerSocket {
public SocketServer(int prot) throws IOException {
super(prot);
}
public void service(){
while (true) {
try {
new SocketServiceThread(this.accept());
System.out.println(" accpet this socket .");
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
SocketServer server = null;
try {
System.out.println(" init service ..");
server = new SocketServer(3376);
System.out.println(" start service .. ");
server.service();
} catch (Exception e) {
try {
server.close();
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
}
}
SocketServiceThread是一个服务的线程,大家都知道使用线程可以使程序变成异步的。这样的就不需要等待上一操作完成,再进行下一操作。也是为了最大化的得供工作效率。(网络传输效率远低于CPU处理效率)。下面是一个简单的例子。
public class SocketServiceThread extends Thread {
private Socket session ;
public SocketServiceThread(Socket session) {
this.session = session;
this.start();
}
public void run() {
try {
InputStream in = this.session.getInputStream();
// something
} catch (IOException e) {
e.printStackTrace();
}
}
服务端的开发已经完面,中间的业务现实你可以按照你的需要重新修改。
最后是客户端了:
public class SocketClient {
public static void main(String[] args) {
try {
Socket client = new Socket("ServerIP",3376);
OutputStream out = client.getOutputStream();
out.write(new String("link seccuss .").getBytes());
out.flush();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
你只要把Server Run起来,然后Run Clinet 就可以通讯了。当然那个3376的端口,是你自己定义的。你也可以通过命令行,通过Telent ip prot 来进行通讯.
分享到:
相关推荐
本教程"Java网络编程从入门到精通"旨在帮助初学者和有经验的开发者深入理解这一领域,从基础知识到高级主题,提供了一套全面的学习资源。 在Java中,网络编程主要涉及以下核心知识点: 1. **Socket编程**:Java的...
通过这个入门例子,初学者可以理解Java Socket编程的基本原理和操作步骤,为进一步的网络编程打下坚实的基础。实际开发中,还可以结合NIO(非阻塞I/O)或其他高级框架如Netty,提高网络通信的效率和灵活性。
本教程"Java网络编程从入门到精通"将带你逐步掌握这个领域的重要知识点。 首先,我们要了解Java网络编程的基础。这包括Java I/O流体系结构,它是处理网络数据传输的核心。在Java中,网络通信基于套接字(Socket)和...
### Java Socket编程入门知识点详解 #### 一、Java Socket编程基础概述 1. **平台无关性**:Java语言的一个显著特点就是平台无关性,这意味着编写的Java程序可以在任何支持Java虚拟机(JVM)的平台上运行。这对于...
首先,01-Java语言基础.ppt这部分内容将引导学习者回顾或建立Java编程的基础,包括语法、类、对象、异常处理等核心概念,这是学习网络编程的基石。理解这些基础知识,能帮助开发者编写出稳定、可维护的网络程序。 ...
### Java编程入门:核心概念与实践 #### 一、引言 Java作为一种广泛使用的编程语言,自1995年Sun Microsystems公司推出以来,迅速在软件开发领域占据了一席之地。其跨平台特性(一次编写,到处运行)使得Java成为...
《Java TCP/IP Socket编程(原书第2版)》基于TCP/IP Socket相关原理,对如何在Java中进行Socket...《Java TCP/IP Socket编程(原书第2版)》适合作为Java Socket编程的入门教程,也可供从事网络相关专业的技术人员参考。
SuperSocket是一个轻量级的.NET Socket服务器开发框架,它简化了网络编程的复杂性,允许开发者专注于业务逻辑,而不是底层网络通信的细节。它支持自定义协议,使得开发者可以根据项目需求定制通信规范。 接着,我们...
Java Socket网络编程是Java开发中实现网络通信的基础,它提供了客户端和服务器端进行数据交换的接口。在Java SDK中,`java.net`包包含了Socket相关的API,使得开发者能够轻松地进行网络编程。 首先,要理解网络编程...
Java网络编程机器人,如"bot.jar",是利用Java编程语言构建的一种自动化程序,它能够模拟用户行为,与网络服务进行交互。这类机器人通常应用于数据抓取、自动测试、在线客服等多种场景。在这个特殊的案例中,"bot....
首先,"Socket套接字—Java套接字编程(上1).chm"文件很可能是关于Java中的Socket编程的入门教程。Socket是网络通信中的基本概念,它为两个网络应用程序提供了一个低级别的接口,使得它们能够通过Internet进行通信。...
Java网络编程是构建网络应用程序的重要部分,它允许程序与网络上的其他计算机进行数据交换和通信。Java作为一种跨平台的语言,为网络编程提供了丰富的API和类库支持。 首先,Java网络编程的基础是通信要素,这包括...
javanet.zip 22.Java网络编程详解(Socket/UDP实例、简单聊天系统) javanio.zip 23.NIO非阻塞通信(Socket/UDP实例、简单聊天系统) javarmi.zip 24.RMI编程(HelloWorld例、计算器实例) javacorba.zip 25....
本书不仅涵盖了Java网络编程的基础知识点,如套接字(Socket)编程,还详细讲解了输入/输出(I/O)操作、泛型、集合等高级概念。Java的I/O类库非常强大,包括用于处理字节流和字符流的类,其中InputStream和...
javanet.zip 22.Java网络编程详解(Socket/UDP实例、简单聊天系统) javanio.zip 23.NIO非阻塞通信(Socket/UDP实例、简单聊天系统) javarmi.zip 24.RMI编程(HelloWorld例、计算器实例) javacorba.zip 25.Corba...
Java SE编程入门教程涵盖了许多核心概念,从基本的语法到高级特性,旨在帮助初学者全面掌握Java编程。网络编程是其中的一个重要章节,涉及到设备间数据传输和通信的基础知识。 网络编程的核心是设备间的交互,这...
Socket编程是网络编程的基础,尤其对于初学者来说,它是入门网络通信技术的一个很好的起点。Socket编程的门槛相对较低,只需要掌握基本的编程语言(如C++或JAVA)和一些网络基础知识,如TCP和UDP协议的工作机制,就...