Socket和ServerSocket类库位于java.net包中。ServerSocket用于服务器端,Socket是建立网络连接时使用的。
什么是Socket?
所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过"套接字"向网络发出请求或者应答网络请求。
Socket和ServerSocket类库位于java.net包中。ServerSocket用于服务器端,Socket是建立网络连接时使用的。在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。对于一个网络连接来说,套接字是平等的,并没有差别,不因为在服务器端或在客户端而产生不同级别。不管是Socket还是ServerSocket它们的工作都是通过SocketImpl类及其子类完成的。
开发一个Client/Server模型的Socket程序
服务器,使用ServerSocket监听指定的端口,端口可以随意指定(由于1024以下的端口通常属于保留端口,在一些操作系统中不可以随意使用,所以建议使用大于1024的端口),等待客户连接请求,客户连接后,会话产生;在完成会话后,关闭连接。
package test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
private Socket socket;
private ServerSocket ss;
public Server() throws IOException {
ss = new ServerSocket(7777);
while (true) {
socket = ss.accept();
BufferedReader br = new BufferedReader(new InputStreamReader(socket
.getInputStream()));
System.out.println("you input is : " + br.readLine());
}
}
public static void main(String[] args) {
try {
new Server();
} catch (IOException e) {
e.printStackTrace();
}
}
}
客户端,使用Socket对网络上某一个服务器的某一个端口发出连接请求,一旦连接成功,打开会话;会话完成后,关闭Socket。客户端不需要指定打开的端口,通常临时的、动态的分配一个1024以上的端口。
package test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
public class Client {
Socket client;
PrintWriter pw;
public Client() throws UnknownHostException, IOException {
client=new Socket("Socket服务器IP",7777);
pw=new PrintWriter(client.getOutputStream());
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
pw.write(br.readLine());
pw.close();
br.close();
}
public static void main(String[] args) {
try {
new Client();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
这个例子中服务端可以接收到Client端输入的字符
分享到:
- 2009-02-16 14:03
- 浏览 1264
- 评论(1)
- 论坛回复 / 浏览 (0 / 3407)
- 查看更多
相关推荐
这是一个很好的Java Socket入门介绍,对没写过Socket程序的很有帮助
Java网络编程从入门到精通 总共34章 文档中有例子说明 非常好的学习文档
《Java TCP/IP Socket编程(原书第2版)》基于TCP/IP Socket相关原理,对如何在Java中进行Socket...《Java TCP/IP Socket编程(原书第2版)》适合作为Java Socket编程的入门教程,也可供从事网络相关专业的技术人员参考。
这个是关于刚刚学习Java的人学习Socket编程的一个很好的例子!这个本热就是txt文档写的!很实用!大家有需要的可以下载着学习交流一下!
Java Socket网络编程的简单实例,思路清晰
Java Socket编程经典的入门教程(包含源代码) Socket即套接字 java.net包的客户端Socket,服务端ServerSocket; 单线程套接字客户端和服务端的处理; 服务端多线程处理客户端套接字; 带有线程池处理客户端套接字;...
本书是对Java编程中socket编程部分的详解,对此方面不够熟悉或者刚入门的敬请下载。
java socket编程,有socket框架,带有部分实例代码。入门者可参考一下。
网络通信协议,网络通信基础知识,socket网络编程的一些基础知识,Socket网络编程学习笔记,网络编程总结,2011-学习资料大全:java_socket编程,学习网络编程的十个步骤,socket编程入门(经典版),Unix_网络编程...
【完整课程列表】 ... 完整版精品java课件 Java基础入门教程 Java程序设计 第1章 Java语言概述(共38页).ppt ...完整版精品java课件 Java基础入门教程 Java程序设计 第14章 socket网络编程(共24页).ppt
java 网络编程入门,含有UDP通信源码DatagramSocket,TCP通信源码Socket ServerSocket,多个带注释的实例,方便入门学习
java socket编程,有socket框架,带有一个实例代码。入门者可参考一下。
Java Socket 编程,老师上课的课件,有实例...适合刚入门的人,高手可以略过...
Java网络编程:Applet、Socket/TCP/UDP、NIO、RMI、CORBA。Java高级特性:反射、泛型、注释符、自动装箱和拆箱、枚举类、可变参数、可变返回类型、增强循环、静态导入。随书附赠光盘内容为《Java高手真经(编程基础卷...
【完整课程列表】 ... 完整版精品java课件 Java基础入门教程 Java程序设计 第1章 Java语言概述(共38页).ppt ...完整版精品java课件 Java基础入门教程 Java程序设计 第14章 socket网络编程(共24页).ppt
适用于简单的Java Socket编程,可以帮助Java socket 的入门和起步~~对学期项目有不少帮助~~
先运行TCPServer.bat,然后运行TCPClinet.bat,输入字符,经过服务端处理后返回结果。简单易懂,socket编程入门。
【完整课程列表】 ... 完整版精品java课件 Java基础入门教程 Java程序设计 第1章 Java语言概述(共38页).ppt ...完整版精品java课件 Java基础入门教程 Java程序设计 第14章 socket网络编程(共24页).ppt