ServerSocket 和 ClientSocket (网络编程)

TestServerSocket.java

package com.sxt.net;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

/*
 * 服务端
 */
public class TestServerSocket {
    public static void main(String[] args) throws IOException {
        System.out.println("服务端准备就绪");
        //服务端
        ServerSocket server = new ServerSocket(8888);
        //获取客户端的Socket
        Socket accept = server.accept();
        //获取客户端的输入流
        InputStream inputStream = accept.getInputStream();
        DataInputStream dis = new DataInputStream(inputStream);
        //输入流读取到程序中
        String readUTF = dis.readUTF();
        //客户端信息显示在控制台
        System.out.println(readUTF);

        //通过输出流发送数据回应客户端
        OutputStream outputStream = accept.getOutputStream();
        DataOutputStream dos = new DataOutputStream(outputStream);
        //输出流写到客户端
        dos.writeUTF("打招呼干嘛呢");

        accept.close();
        server.close();

    }
}

TestClientSocket.java

package com.sxt.net;
import java.io.DataInputStream;
import java.io.DataOutputStream;
/*
 * 客户端
 */
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;

public class TestClientSocket {
    public static void main(String[] args) throws UnknownHostException, IOException {
        //指定发送服务端的主机IP  端口号
        Socket socket = new Socket(InetAddress.getLocalHost(), 8888);
        //通过输出流向服务端发送数据
        OutputStream outputStream = socket.getOutputStream();
        DataOutputStream dos = new DataOutputStream(outputStream);
        //将数据写出到服务端
        dos.writeUTF("客户端:你好 老兄");

        //通过输入流读取服务端的回应信息
        InputStream inputStream = socket.getInputStream();
        DataInputStream dis = new DataInputStream(inputStream);
        //读取流到程序
        String readUTF = dis.readUTF();
        //显示到控制台
        System.out.println(readUTF);
        socket.close();
    }
}
时间: 2024-10-06 00:40:52

ServerSocket 和 ClientSocket (网络编程)的相关文章

java网络编程serversocket

转载:http://www.blogjava.net/landon/archive/2013/07/24/401911.html Java网络编程精解笔记3:ServerSocket详解ServerSocket用法详解 1.C/S模式中,Server需要创建特定端口的ServerSocket.->其负责接收client连接请求. 2.线程池->包括一个工作队列和若干工作线程->工作线程不断的从工作队列中取出任务并执行.-->java.util.concurrent->线程池

Java网络编程(ServerSocket和Socket)

服务器端 package org.tcp; import java.io.PrintStream; import java.net.ServerSocket; import java.net.Socket; public class HelloServer { public static void main(String[] args) throws Exception{ ServerSocket server = null; Socket client = null; PrintStream

VC++6.0网络编程Socket编程(转)

从csdn上下载的该软件的教程: 作为一个初学者,深感Socket编程入门的困难,但当把一些问题弄懂之后,回过头来看以前遇到的一些问题,才发现 Socket编程其实并没有那么复杂.接下来我就把我遇到的一些困难讲述下,并补上解决的办法. 首先我们要想实现一个简单的点对点网络通信,就应该有一个客户和一个服务器 我们先来做客户端.先按照如下图所示建立好客户对话框模块: 首先创建一个基于MFC AppWizard[EXE] 工程,工程名为Socket__002 (这里是以我的工程名为准,你们也可以自己命

Android网络编程系列 一 Socket抽象层

在<Android网络编程>系列文章中,前面已经将Java的通信底层大致的描述了,在我们了解了TCP/IP通信族架构及其原理,接下来我们就开始来了解基于tcp/ip协议层的Socket抽象层.本篇文章将会让我们清楚的了解和学会使用Socket. 什么是Socket?它又是如何运作的?它的表现形式是什么?等等这些问题,本篇文章将逐步的揭晓. 一. 什么是Socket Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口,你可以借助它建立TCP连接等等,而http是个应用层的

java网络编程与安全

北京电子科技学院(BESTI) 实     验    报     告 课程:JAVA程序设计  班级:1253   姓名:魏昊卿  小组伙伴:杨舒雯 学号:20135203   伙伴:20135324 成绩:             指导教师:娄嘉鹏          实验日期:2015.6.09 实验密级:  无     预习程度:            实验时间15:30~18:00 仪器组次:         必修/选修:选修                 实验序号:04 实验名称:ja

Java网络编程笔记4

Socket和ServerSocket,网络编程可以分为创建Socket.打开连接Socket的输入流和输出流,对Socket进行编程,关闭Socket. 创建Socket 一个功能齐全的Socket的工作过程包含以下四个步骤: 1.创建Socket. 2.打开连接到Socket的输入/输出流. 3.按照一定的协议对Socket进行读/写操作. 4.关闭Socket 在java.net包中,定义了Socket和ServerSocket两个类,类Socket表示客户端或者服务器Socket连接的两

TCP/IP网络编程系列之一

概述 网络编程实际上就是编写程序使两台联网的计算机相互的交换数据.操作系统会提供名为“ 套接字 ”的部件.套接字是网络数据传输的软件设备,即使对网络数据传输原理不太熟悉也无关紧要.我们也能通过套接字完成数据传输,因此网络编程又叫套接字编程. 过程  我们可以把套接字理解为我们平时的电话机,我们先看一下套接字的创建过程: 首先你如果要和别人沟通肯定要安装好电话机才可以,所以对应套接字的是调用socket函数时进行对话. #include<sys/socket.h> int socket(int

网络编程--Socket(套接字)

网络编程 网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通讯.网络编程中 有两个主要的问题,一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后 如何可靠高效的进行数据传输.在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的 路由,由IP地址可以唯一地确定Internet上的一台主机.而TCP层则提供面向应用的可靠的 或非可靠的数据传输机制,这是网络编程的主要对象,一般不需要关心IP层是如何处理数据 的. 目前较为流行的网络编程模型是客户机/服务器(C/S)结构

TCP/IP网络编程系列之四(初级)

TCP/IP网络编程系列之四-基于TCP的服务端/客户端 理解TCP和UDP 根据数据传输方式的不同,基于网络协议的套接字一般分为TCP和UDP套接字.因为TCP套接字是面向连接的,因此又称为基于流的套接字.在了解TCP之前,先了解一下TCP所属的TCP/IP协议栈. 如图所示,TCP/IP协议栈共分为4层,可以理解成数据收发分成了4个层次化过程. 链路层 它是物理链接领域标准化结果,也是最基本的领域,专门定义LAN.WAN.MAN等网络标准.若两台计算机通过网络进行数据交换,链路层就负责整个物