套接字(Socket)
Socket最初是加利福尼亚大学Berkeley分校为Unix系统开发的网络通信接口。后来随着TCP/IP网络的发展,Socket成为最为通用的应用程序接口,也是在Internet上进行应用开发最为通用的API。
套接字(socket)是一个抽象层,应用程序可以通过它发送或接收数据,可对其进行像对文件一样的打开、读写和关闭等操作。套接字允许应用程序将I/O插入到网络中,并与网络中的其他应用程序进行通信。网络套接字是IP地址与端口的组合。
TCP/IP编程
使用TCP/IP的套接字(Socket)进行通信
-
服务器程序将一个套接字绑定到一个特定的端口,并通过此套接字等待和监听客户端到端口的连接请求。
-
客户端程序根据服务器程序所在的主机名和端口发出连接请求。
使用ServerSocket和Socket实现服务器端和客户端的Socket通信
代码实现举例
//服务器端程序
public class Server {
public static void main(String[] args) {
try {
//设置服务器端口号
ServerSocket serverSocket = new ServerSocket(9999);
//接受连接
Socket socket =serverSocket.accept();
//接收传输过来的数据
InputStream inputStream =socket.getInputStream();
//将文件输出到指定目录并命名
OutputStream outputStream =new FileOutputStream("D:\\images\\Server.jpg");
byte car[] =new byte[1024];
int length=0;
while ((length=inputStream.read(car))!=-1) {
outputStream.write(