惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

爱范儿
爱范儿
T
Troy Hunt's Blog
B
Blog
N
Netflix TechBlog - Medium
H
Help Net Security
PCI Perspectives
PCI Perspectives
罗磊的独立博客
SecWiki News
SecWiki News
S
Security Affairs
Webroot Blog
Webroot Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Hacker News: Ask HN
Hacker News: Ask HN
Google Online Security Blog
Google Online Security Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
V
Visual Studio Blog
V2EX - 技术
V2EX - 技术
Recorded Future
Recorded Future
Schneier on Security
Schneier on Security
The Last Watchdog
The Last Watchdog
博客园 - 【当耐特】
Attack and Defense Labs
Attack and Defense Labs
S
Secure Thoughts
Hugging Face - Blog
Hugging Face - Blog
Forbes - Security
Forbes - Security
Application and Cybersecurity Blog
Application and Cybersecurity Blog
TaoSecurity Blog
TaoSecurity Blog
Recent Commits to openclaw:main
Recent Commits to openclaw:main
M
MIT News - Artificial intelligence
博客园_首页
A
About on SuperTechFans
Microsoft Azure Blog
Microsoft Azure Blog
T
Tailwind CSS Blog
The Cloudflare Blog
P
Proofpoint News Feed
D
DataBreaches.Net
N
News and Events Feed by Topic
G
Google Developers Blog
B
Blog RSS Feed
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
MyScale Blog
MyScale Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
AI
AI
O
OpenAI News
雷峰网
雷峰网
C
Check Point Blog
大猫的无限游戏
大猫的无限游戏
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Blog — PlanetScale
Blog — PlanetScale
有赞技术团队
有赞技术团队

博客园 - Star.Stroll

【Chrome扩展】Reload image 重载图片 [原创]RegularJS [原创]虚拟化技术真的能让企业降低成本吗? [原创]纯Java获得本地MAC地址 [原创]GCC动态链接库的编译与使用简例 [原创]Cygwin的中文支持(解决乱码) [原创]程序员日志:自制随笔程序 [原创]程序员日志:程序员的快捷方式 [原创]透明的DIV提示框(兼容IE与Firefox) 深入HashCode方法 JavaScript代码实例:拖动对象 Drag Object (兼容:IE、Firefox、Opera ... ) Tomcat中用web.xml控制Web应用详解(2) Tomcat中用web.xml控制Web应用详解(1) java.sql.ResultSet 新增、更新、刪除資料 [原创]一个简单例子解释 Java 工厂模式 [原创]Object.clone()的作用与用法 Java 范型编程 Singleton模式(单态模式) Builder模式
[原创]Java Socket(套接字)自学笔记1
Star.Stroll · 2008-06-28 · via 博客园 - Star.Stroll

我的第一个Java Socket交互程序:

服务器端代码:

package scoket.server;

import java.io.*;
import java.net.Socket;
import java.net.ServerSocket;

public class Action {

    
/**
     * 
@param args
     
*/

    
public static void main(String[] args) {
        
try {
            
//实例化服务器Socket对象
            ServerSocket server = new ServerSocket(15010);
            
//监听获取客户端
            Socket client = server.accept();
            
//接受到客户端连接后打印客户端地址
            System.out.println("连接来自:"+client.getRemoteSocketAddress().toString());
            
//获取客户端输入流
            InputStream in = client.getInputStream();
            ObjectInputStream reader 
= new ObjectInputStream(in);
            
//读取并打印客户端发送的信息
            String s = reader.readUTF();
            System.out.println(
"客户端 :" + s);
            
            
//服务器向客户端反馈信息
            
//获得输出流
            ObjectOutputStream writer = new ObjectOutputStream(client.getOutputStream());
            
//向客户端反馈信息
            writer.writeUTF("已经收到你的信息");
            writer.flush();
            
            
//两秒后再次响客户端发送信息
            Thread.sleep(2000);
            writer.writeUTF(
"再次确认");
            writer.flush();
        }
 catch (Exception e) {
            
// TODO Auto-generated catch block
            e.printStackTrace();
        }

    }


}

客户端代码:

package socket.client;

import java.io.*;
import java.net.*;

public class Action {

    
/**
     * 
@param args
     
*/

    
public static void main(String[] args) {
        
try {
            
//设置需要请求的服务器地址
            InetAddress ia = InetAddress.getByName("192.168.0.87");
            
//服务器向服务器发送请求
            Socket client = new Socket(ia,150);
            
//获取输出流
            OutputStream out = client.getOutputStream();
            ObjectOutputStream writer 
= new ObjectOutputStream(out);
            
//向服务器发送信息
            writer.writeUTF("我是客户端!!");
            writer.flush();
            
            
//等待并接受服务器的两次信息反馈
            ObjectInputStream reader = new ObjectInputStream(client.getInputStream());
            System.out.println(
"服务器:"+reader.readUTF());
            System.out.println(
"服务器:"+reader.readUTF());
        }
 catch (Exception e) {
            
// TODO Auto-generated catch block
            e.printStackTrace();
        }

        
    }


}