客户端

  1. 通过socket连接服务器
  2. 发送消息
import java.io.IOException;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;public class TestClientDemo01 {public static void main(String[] args) {Socket socket = null;OutputStream os = null;//1.需要获取服务器的地址try {//1.需要获取服务器的地址InetAddress serverIp = InetAddress.getByName("127.0.0.1");int port = 6666;//2.创建一个socket连接socket = new Socket(serverIp,port);//3.发送消息os = socket.getOutputStream();os.write("你好,服务器".getBytes());} catch (Exception e) {e.printStackTrace();}finally {if (os!=null){try {os.close();} catch (IOException e) {e.printStackTrace();}}if (socket!=null){try {socket.close();} catch (IOException e) {e.printStackTrace();}}}}
}

服务器

  1. 通过ServerSocket建立服务的端口
  2. 等待用户连接 accept
  3. 接收用户消息
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;public class TestServerDemo01 {public static void main(String[] args) {ServerSocket serverSocket = null;InputStream is = null;Socket socket = null ;ByteArrayOutputStream baos= null;try {//1.需要一个地址serverSocket = new ServerSocket(6666);while (true) {//2.等待客户端连接System.out.println("等待客户端消息.....");socket = serverSocket.accept();//3.读取客户端消息is = socket.getInputStream();//管道流baos = new ByteArrayOutputStream();byte[] buffer = new byte[1024];int len;while ((len = is.read(buffer)) != -1) {baos.write(buffer, 0, len);}System.out.println(baos.toString());}} catch (IOException e) {e.printStackTrace();}finally {if (baos!=null){try {baos.close();} catch (IOException e) {e.printStackTrace();}}if (is!=null){try {is.close();} catch (IOException e) {e.printStackTrace();}}if (socket!=null){try {socket.close();} catch (IOException e) {e.printStackTrace();}}if (serverSocket!=null){try {serverSocket.close();} catch (IOException e) {e.printStackTrace();}}}}
}

演示

运行服务器:

运行一次客户端,发送消息给服务器

再次运行客户端

(网络编程)TCP实现聊天相关推荐

  1. kuangshenshuo-网络编程-TCP实现聊天和文件上传

    网络编程 -> TCP实现聊天和文件上传 1. TCP实现聊天 1.1 客户端 ① 连接服务器 Socket ② 发送消息 import java.io.IOException; import ...

  2. java全双工_java网络编程TCP聊天全双工

    我正在实现服务器和客户端之间的简单TCP聊天.我使用多线程,因此服务器和客户端可以同时发送和接收数据(全双工).该程序可以工作,但如果服务器有一个控制台既可以输入发送消息,也可以显示接收消息(对于客户 ...

  3. qt android 网络编程实例,QT网络编程Tcp下C/S架构的即时通信实例

    先写一个客户端,实现简单的,能加入聊天,以及加入服务器的界面. #ifndef TCPCLIENT_H #define TCPCLIENT_H #include #include #include # ...

  4. Java网络编程,一对一聊天

    Java网络编程,一对一聊天 **这个小任务是来自于B站,他的视频名字就是"Java实现实时聊天互动程序"** 要求:就是有2个类,其中一个客户端和一个服务端.要实现从客户端发消息 ...

  5. Python网络编程——TCP与UDP

    Python网络编程 TCP(复杂可靠)与UDP(简单不可靠)的区别 1) TCP提供面向连接的传输,通信前要先建立连接(三次握手机制): UDP提供无连接的传输,通信前不需要建立连接. 2) TCP ...

  6. java socket ip_JAVA 网络编程 TCP/IP、Socket 和协议设计

    [JAVA 网络编程 TCP/IP.Socket 和协议设计] TCP/IP 协议简介 IP 首先我们看 IP(Internet Protocol)协议.IP 协议提供了主机和主机间的通信. 为了完成 ...

  7. WinSock API网络编程——TCP/IP协议详解

     WinSock API网络编程--TCP/IP协议(http://www.impcas.ac.cn/usr/lujun/browse.asp?id=winsock_tcp)            ...

  8. 网络编程-TCP/IP协议栈-TCP协议

    TCP协议 TCP协议作用 TCP协议位于协议栈的传输层.当应用层向TCP层发送用于网间传输的,用8字节表示的数据流,TCP则吧数据流分割成适当长度的报文段,最大传输段大小(MSS)通常受到改计算机连 ...

  9. 网络编程-TCP/IP协议栈-IP协议

    协议 协议就是约定的一种规则,例如扑克游戏中约定好的各种规则,2<3<4<5<-等,以此作为游戏规则.当所有人都遵循这个规则,那么久可以不需要任何多余的交流就可以进行游戏,这个 ...

  10. Qt:Qt实现Winsock网络编程—TCP服务端和客户端通信(多线程)

    Qt实现Winsock网络编程-TCP服务端和客户端通信(多线程) 前言 感觉Winsock网络编程的api其实和Linux下网络编程的api非常像,其实和其他编程语言的网络编程都差不太多.博主用Qt ...

最新文章

  1. 字节面试现场,问我如何高效设计一个LRU
  2. 深度解读NLP文本情感分析Pipeline
  3. .htaccess 后门
  4. 您能解决这3个(看似)简单的Python问题吗?
  5. 雅安职业技术学院工业机器人专业_2017年雅安职业技术学院开设哪些专业(高职/专科)...
  6. SQLSERVER中的BCP命令使用
  7. PCurve - Curve on Surface
  8. 车辆有效信息的识别 车牌车型车颜色 车标识别,基于mallab算法
  9. Win10精确式触摸板安装
  10. excel文件因服务器未响应无法打开,excel打开显示兼容模式(未响应)
  11. MATLAB柱状图(数据可视化)
  12. react根据中文获取拼音_react-native按照汉字首字母排序
  13. 拼多多员工小便池拉屎,网易智能马桶屏蔽信号,360、搜狐厕所被监控,互联网公司厕所那些事!
  14. 桌面cpu与服务器cpu天梯,台式CPU性能怎么看?桌面CPU天梯图2018年1月更新版
  15. 孤独是灵魂的而缺口,享受孤独是一种灵修
  16. python字符加密2pta_ptapython答案
  17. winform 如何控制输入法
  18. go 当前时间、时间戳和时间字符串及相互转换
  19. 框架、架构和设计模式?!
  20. 易语言简单易学,为何无人问津,国产编译语言究竟怎么样?小编带你看

热门文章

  1. 现代密码学1.4--现代密码的三大原则
  2. 近世代数--素理想--I是R的素理想↔R/I是整环
  3. 435. 无重叠区间(贪心算法)
  4. [HOW TO]-centos环境搭建opengrok笔记
  5. [How TO]-openjrok维护手册
  6. 在linux kernel中netlink的使用示例
  7. 重点解读《数据安全法》,做数据安全相关工作的必看
  8. android记录登录状态
  9. HttpClient发送Get请求(java)【从新浪云搬运】
  10. 11、Java Swing JList:列表框组件