Socket分为ServerSocket和Socket两大类;

其中ServerSocket用于服务器端,可以通过accept方法监听请求,监听到请求后返回Socket;

Socket用户具体完成数据传输,客户端直接使用Socket发生请求并传输数据。

DEMO:

单方面发送消息:

服务端:

package com.seesun2012.socket;

import java.io.InputStream;

import java.net.ServerSocket;

import java.net.Socket;

/**

* Socket服务端

*

* @author seesun2012@163.com

*

*/

public class TcpServer {

public static void main(String[] args) {

doServer();

}

private static void doServer() {

try {

//建立服务端的Socket服务

ServerSocket ss = new ServerSocket(15421);

//获取客户端对象

Socket s = ss.accept();

//获取客户端IP地址

String ip = s.getInetAddress().getHostAddress();

//获取客户端端口号

int port = s.getPort();

System.out.println(ip + ":" + port + " 已建立连接");

//用输入流接收客户端输出流

InputStream ins = s.getInputStream();

byte[] bytes = new byte[1024];

int len = ins.read(bytes);

//将二进制转成字符串

String text = new String(bytes, 0, len);

System.out.println(text);

//释放资源

s.close();

ss.close();

} catch (Exception e) {

e.printStackTrace();

}

}

}

客户端:

package com.seesun2012.socket;

import java.io.OutputStream;

import java.net.Socket;

/**

* Socket客户端

*

* @author seesun2012@163.com

*

*/

public class TcpClient {

public static void main(String[] args) {

doSocket();

}

private static void doSocket(){

try {

//与服务器建立连接

Socket s = new Socket("127.0.0.1", 15421);

//获取一个输出流

OutputStream os = s.getOutputStream();

//向服务器输出流中传入二进制字节流

os.write("你好,CHINA~!".getBytes());

//释放资源

s.close();

} catch (Exception e) {

e.printStackTrace();

}

}

}

java socket通信demo_Java Socket通信示例相关推荐

  1. Java的Socket通信----通过 Socket 实现 TCP 编程之多线程demo(2)

    JAVA Socket简介 所谓socket 通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄.应用程序通常通过"套接字"向网络发出请求或者应答 ...

  2. connect: 网络不可达_Java网络编程和NIO详解1:JAVA 中原生的 socket 通信机制

    本文转自:https://github.com/jasonGeng88/blog 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https ...

  3. python socket模块实现udp通信_Python基于socket模块实现UDP通信功能示例

    Python基于socket模块实现UDP通信功能示例 本文实例讲述了Python基于socket模块实现UDP通信功能.分享给大家供大家参考,具体如下: 一 代码 1.接收端 import sock ...

  4. java socket 全双工_java socket实现全双工通信

    单工.半双工和全双工的定义 如果在通信过程的任意时刻,信息只能由一方A传到另一方B,则称为单工. 如果在任意时刻,信息既可由A传到B,又能由B传A,但只能由一个方向上的传输存在,称为半双工传输. 如果 ...

  5. java web接收tcp_Java多线程实现TCP网络Socket编程(C/S通信)

    开篇必知必会 在前一篇<基于TCP协议网络socket编程(java实现C/S通信)>,实际存在一个问题,如果服务器端在建立连接后发送多条信息给客户端,客户端是无法全部接收的,原因在于客户 ...

  6. java socket 端口_Java Socket通信如何摆平自身端口问题

    Java Socket通信在使用的时候有不少的问题,在端口编程上来说是一个十分重要的.下面我们就看看Java Socket通信如何才能更好的使用相关的代码.希望大家有所帮助. 事实上网络编程简单的理解 ...

  7. java socket 全双工客户端_[Java教程]用socket模拟实现全双工通信

    [Java教程]用socket模拟实现全双工通信 0 2017-04-04 00:00:14 //源码下载 http://download.csdn.net/detail/qq_24054661/98 ...

  8. Java网络编程和NIO详解1:JAVA 中原生的 socket 通信机制

    JAVA 中原生的 socket 通信机制 转载自:https://github.com/jasonGeng88/blog 当前环境 jdk == 1.8 知识点 socket 的连接处理 IO 输入 ...

  9. 【Java】GUI界面聊天小程序(基于Socket的客户端服务端通信)

    基于Socket的客户端服务端通信--Java GUI界面小程序 Socket概念及其通信过程: Socket是TCP/IP中的基本概念,它负责将TCP/IP包发送到指定的IP地址.也可以看成是在两个 ...

最新文章

  1. 一个效率更高的全半角字符串截取函数
  2. 六分钟学会创建Oracle表空间的步骤
  3. 【Vegas原创】“無法解析 equal to 動作的定序衝突”错误的处理
  4. 领域设计基本理论知识总结(转)
  5. 2018明星学术公众号TOP 10重磅发布,PaperWeekly再度入选
  6. Pytorch使用Vision Transformer做肺癌和结肠癌组织病理学图像分类
  7. sql语句lastupdate使用数据库库函数
  8. kbengine 的 nginx反向代理https/wss 配置 支持kbe负载均衡
  9. John the Ripper 密码破解者
  10. 系统服务器ping偶尔超时,云服务器ping超时原因
  11. 关于Session、Cookie、Token你知道多少?
  12. 记一次企业邮官网SEO优化
  13. 服务器和售票系统,网上售票系统的开发与实现.doc
  14. 〖TFS_CLUB社区〗-〖星荐官共赢计划〗~ 期待各位小伙伴的加入~
  15. C语言实现IP合法性判断
  16. python,pip,xlrd 安装
  17. 编程和乐高机器人的区别
  18. Ubuntu 安装MTP驱动访问安卓设备(转载)
  19. C语言 校园歌手比赛系统源码
  20. 使用字节流和字符流对文件进行操作

热门文章

  1. boost::type_erasure模块实现类型安全的 printf的测试程序
  2. boost::sort::sample_sort相关的测试程序
  3. boost::mp11::mp_set_difference相关用法的测试程序
  4. boost::log相关用法的测试程序
  5. boost::detail::lexical_cast_stream_traits用法的测试程序
  6. boost::icl模块interval_map 的最简单示例是重叠计数器
  7. boost::hana::fix用法的测试程序
  8. boost :: swap交换整数数组的测试程序
  9. VTK:可视化之DisplayCoordinateAxes
  10. 在Qt Designer中使用容器