`

TCP 发送与接收

 
阅读更多
/*
 * TCP协议发送数据:
 * A:创建发送端的Socket对象
 * 		这一步如果成功,就说明连接已经建立成功了。
 * B:获取输出流,写数据
 * C:释放资源
 * 
 * 连接被拒绝。TCP协议一定要先看服务器。
 * java.net.ConnectException: Connection refused: connect
 */
public class ClientDemo {
	public static void main(String[] args) throws IOException {
		// 创建发送端的Socket对象
		// Socket(InetAddress address, int port)
		// Socket(String host, int port)
		// Socket s = new Socket(InetAddress.getByName("192.168.12.92"), 8888);
		Socket s = new Socket("192.168.12.92", 8888);

		// 获取输出流,写数据
		// public OutputStream getOutputStream()
		OutputStream os = s.getOutputStream();
		os.write("hello,tcp,我来了".getBytes());

		// 释放资源
		s.close();
	}
}

 

/*
 * TCP协议接收数据:
 * A:创建接收端的Socket对象
 * B:监听客户端连接。返回一个对应的Socket对象
 * C:获取输入流,读取数据显示在控制台
 * D:释放资源
 */
public class ServerDemo {
	public static void main(String[] args) throws IOException {
		// 创建接收端的Socket对象
		// ServerSocket(int port)
		ServerSocket ss = new ServerSocket(8888);

		// 监听客户端连接。返回一个对应的Socket对象
		// public Socket accept()
		Socket s = ss.accept(); // 侦听并接受到此套接字的连接。此方法在连接传入之前一直阻塞。

		// 获取输入流,读取数据显示在控制台
		InputStream is = s.getInputStream();

		byte[] bys = new byte[1024];
		int len = is.read(bys); // 阻塞式方法
		String str = new String(bys, 0, len);

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

		System.out.println(ip + "---" + str);

		// 释放资源
		s.close();
		// ss.close(); //这个不应该关闭
	}
}

 

分享到:
评论

相关推荐

    VC++ 6.0 所有格式的图片TCP发送接收程序 socket(2)

    VC++程序 所有格式图片TCP发送与接收程序,socket字节,此为客户端程序。

    c++编程TCP的发送与接收

    总的来说,C++编程中的TCP发送与接收涉及网络基础、Winsock库的使用、套接字操作以及可能的数据序列化。通过理解这些概念和技术,开发者可以构建稳定可靠的网络通信程序。在VC++6.0环境下,利用MFC库可以进一步简化...

    TCP发送接收缓冲区详细讲解

    总的来说,TCP发送接收缓冲区是TCP协议实现可靠传输的核心机制之一。理解并合理配置这些缓冲区对于优化网络性能、提高数据传输效率至关重要。通过深入学习和实践,我们可以更好地掌握TCP的工作原理,解决在编程中...

    TCP发送和接收图片源码

    在这个"TCP发送和接收图片源码"的主题中,我们将深入探讨如何利用TCP协议来传输图像数据,以及如何实现桌面截图并发送的功能。 首先,我们要理解TCP的基本工作原理。TCP建立连接的过程被称为三次握手,即客户端发送...

    TCP报文发送接收测试工具

    TCP报文发送接收测试工具,正如其标题所言,是用于检验TCP通信的有效性,帮助开发者调试TCP报文传输过程中的问题。这款工具可以模拟客户端与服务器端的角色,实现双向通信,从而对TCP协议的各个方面进行深度测试。 ...

    QT通过Tcp发送接收自定义结构体

    总结来说,QT通过TCP发送和接收自定义结构体的关键步骤包括:结构体的序列化和反序列化、建立和管理TCP连接、以及错误处理。利用QT提供的QDataStream和QTcpSocket类,我们可以轻松实现高效、可靠的网络通信。

    TCP发送报文和TCP接收报文工具-江朝技术

    在提供的文件列表中,"USR-TCP232-Test-V1.3.exe"可能是一个专门用于测试TCP与串口通信的工具,它可能结合了TCP发送和接收的功能,适用于设备通信的测试和调试。"NetAssist.exe"则可能是另一个网络辅助工具,可能...

    TCP发送接收测试

    在这个“TCP发送接收测试”中,我们主要关注的是使用C#编程语言实现TCP客户端和服务器端的交互。 首先,我们来讨论TCP_Listener,这是一个代表TCP服务器的程序。在C#中,我们可以使用System.Net.Sockets命名空间中...

    TCP实现的文件发送与接收

    在这个"TCP实现的文件发送与接收"的项目中,我们将探讨如何利用TCP协议来构建文件的发送与接收程序。 首先,TCP建立连接的过程称为三次握手。当客户端想要向服务器发送文件时,它会发送一个SYN(同步)包到服务器,...

    计算机网络三级项目-TCP包的发送和接收

    在这个项目中,我们将深入探讨TCP(传输控制协议)在数据传输中的应用,通过客户端和服务器端的交互来理解TCP包的发送和接收过程。 首先,TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。在TCP通信开始...

    C# 使用Socket发送和接收TCP数据

    本篇文章将深入探讨如何在C#中使用Socket类来实现TCP数据的发送和接收。 TCP(Transmission Control Protocol)是一种面向连接的、可靠的传输协议,它确保了数据包的顺序传输和错误校验。在C#中,Socket类是.NET ...

    android应用中文件的tcp发送和接收

    本篇文章将深入探讨如何在Android应用中实现TCP协议进行文件的发送与接收。 首先,我们需要创建一个Socket连接,它是TCP通信的基础。在Android中,我们可以使用`java.net.Socket`类来创建客户端Socket,`...

    C# 使用Tcp发送大量数据

    在C#编程中,TCP...总结来说,C#中通过TcpClient和TcpListener处理TCP通信时,发送大量数据需分块处理,同时关注错误处理、重试机制以及网络条件下的性能优化。通过以上方法,可以实现稳定、高效的大量数据传输。

    tcp发送接受程序,vc++编写

    这个文件可能是程序的文档或者示例代码,可能包含了关于如何使用该TCP发送接收程序的详细步骤或注意事项。 7. **tcpcs**: 这个可能是程序的源代码文件,可能包含了实现TCP发送和接收功能的C++代码。通常,`tcpcs...

    QT之TCP实现客户端接收和发送数据

    利用QT实现客户端的接收和发送数据.............................................................................................

    C#TCP方式发送接收通讯

    用两个文本框实现发送数据的显示和接收,初始化时开一个线程监听端口,按钮按下是创建套接字发送数据

    SOCKET TCP 发送接收消息

    本项目“SOCKET TCP 发送接收消息”利用了MFC(Microsoft Foundation Classes)库来实现TCP通信,实现了简单的发送、接收和显示消息的功能,以及双向通信的能力。 首先,TCP是一种面向连接的协议,它在数据交换前会...

    发送和接收TCP数据包的客户端和服务器

    本项目涉及创建一个简单的TCP客户端和服务器,它们可以互相发送和接收数据包。以下是关于这个项目的一些关键知识点: 1. **TCP协议基础**: - TCP是Internet协议族中最常用的一种,提供面向连接的、可靠的数据传输...

    TCP发送接收.rar

    在这个名为"TCP发送接收.rar"的压缩包中,包含了一个基于LabVIEW的TCP通信程序。这个程序设计为两个独立的子VI(虚拟仪器),分别负责TCP的发送和接收功能。这样的设计使得用户可以方便地调用这些子VI来实现TCP通信...

    C#TCP 通信(TCP发送16进制)

    4. **接收数据**:服务器端通过类似的方式读取客户端发送的数据,同样需要将接收到的字节流转换回16进制字符串。 ```csharp NetworkStream stream = client.GetStream(); byte[] receivedData = new byte[client....

Global site tag (gtag.js) - Google Analytics