347 TCP发送数据
TCP通信协议是一种可靠的网络协议,它在通信的两端各建立一个Socket对象,从而在通信的两端形成网络虚拟链路。
一旦建立了虚拟的网络链路,两端的程序就可以通过虚拟链路进行通信。
Java对给予TCP协议的网络提供了良好的封装,使用Socket对象来代表两端的通信端口吗,并通过Socket产生IO流来进行网络通信。
Java为客户端提供了Socket类,为服务器端提供了ServerSocket类。
(TCP是区分服务器、客户端的,UDP不分)
【TCP发送数据】
- 创建 客户端的Socket对象-Socket, Socket(InetAddress address,int port)
- 获取输出流,写数据,Socket(String host,int port)
- 释放资源
【报错了】
视频里面,写了1套发送端,可以运行3个发送端,我的只能运行1个,idea提示xxx is not allowed to run in parellel…
【报错了】
原代码运行不过去,ConnectException,这是因为没有做完三次握手,后面继续。
---------------------------------------------
package e347;
import java.io.IOException;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.Socket;
public class ClientDemo {
public static void main(String[] args) throws IOException {
//创建客户端的socket对象-socket
//Socket(InetAddress address,int port)创建 流套接字并将其连接到指定IP地址的指定端口号
// Socket s=new Socket(InetAddress.getByName("192.168.43.241"),10086);
//Socket(String host,int port)创建 流套接字 并将其连接到指定主机上的指定端口号
Socket s = new Socket("192.168.43.241 ", 10086);
//获取输出流,写数据
OutputStream os = s.getOutputStream();
os.write("hello,TCP".getBytes());
//释放资源
s.close();
// ConnectException
}
}
(client,美 [ˈklaɪənt] n.客户;当事人;委托人;(连接在服务器上的)客户机)
(client端写数据,发送数据???)