Java 网络编程之 TCP 实现简单的聊天系统

网友投稿 184 2022-11-13


Java 网络编程之 TCP 实现简单的聊天系统

客户端

1、连接服务器 Socket

2、发送消息

package lesson02;

import java.io.IOException;

import java.io.OutputStream;

import java.net.InetAddress;

import java.net.Socket;

/**

* 客户端

*/

public class TcpClientDemo1 {

public static void main(String[] args) {

Socket socket = null;

OutputStream os = null;

try {

//1、要知道服务器的地址 端口号

InetAddress serverIP = InetAddress.getByName("127.0.0.1");

int port = 9999;

//2、创建一个 socket 连接

socket = new Socket(serverIP, port);

//3、发送消息 IO流

os = socket.getOutputStream();

os.write("你好,欢迎学习狂神学Java".getBytes());

} catch (Exception e) {

e.printStackTrace();

} finallyeWGSUYNno {

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、接收用户的消息

package lesson02;

import java.io.ByteArrayOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.net.ServerSocket;

import java.net.Socket;

/**

* 服务端

*/

public class TcpServerDemo1 {

public static void main(String[] args) {

ServerSocket serverSocket = null;

Socket socket = null;

InputStream is = null;

ByteArrayOutputStream baos = null;

try {

//1、我得有一个地址

serverSocket = new ServerSocket(9999eWGSUYNno);

while (true){

//2、等待客户端连接过来

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());

}

/*

byte[] buffer = new byte[1024];

int len;

while ((len = is.read(buffer)) != -1){

String msg = new String(buffer, 0, len);

System.out.println(msg);

}

*/

} 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();

}

}

}

}

}

服务端

1、建立服务的端口 ServerSocket

2、等待用户的连接 accept

3、接收用户的消息

package lesson02;

import java.io.ByteArrayOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.net.ServerSocket;

import java.net.Socket;

/**

* 服务端

*/

public class TcpServerDemo1 {

public static void main(String[] args) {

ServerSocket serverSocket = null;

Socket socket = null;

InputStream is = null;

ByteArrayOutputStream baos = null;

try {

//1、我得有一个地址

serverSocket = new ServerSocket(9999);

while (true){

//2、等待客户端连接过来

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());

}

/*

byte[] buffer = new byte[1024];

int len;

while ((len = is.read(buffer)) != -1){

String msg = new String(buffer, 0, len);

System.out.println(msg);

}

*/

} catch (IOException e) {

e.printStackTrace();

} finally {

//关闭资源

if (baos != null){

try {

baos.close();

} catch (IOException e) {

e.printStackTrace();

}

}

http:// 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();

}

}

}

}

}

以上就是Java 网络编程之 TCP 实现简单的聊天系统的详细内容,更多关于Java 实现简单的聊天系统的资料请关注我们其它相关文章!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Spring Boot优雅地处理404异常问题
下一篇:基于Spring Cloud Zookeeper实现服务注册与发现
相关文章

 发表评论

暂时没有评论,来抢沙发吧~