当前位置:首页 » 编程语言 » javatcp发送

javatcp发送

发布时间: 2025-03-31 11:53:14

‘壹’ java如何通过tcp向指定的IP发送指令并获得返回的包

以下是一个展示java使用tcp通讯的简单例子,包括服务器和客户端代码:

/**
*TCPServer
*/
import java.io.*;
import java.net.*;
class TCPServer{
public static void main(String[] args)throws IOException{
ServerSocket listen = new ServerSocket(5050);

Socket server = listen.accept();
InputStream in = server.getInputStream();
OutputStream out = server.getOutputStream();
char c = (char)in.read();
System.out.println("收到:" + c);
out.write('s');

out.close();
in.close();
server.close();
listen.close();
}
}

/**
*TCPClient
*/
import java.io.*;
import java.net.*;
class TCPClient{
public static void main(String[] args)throws IOException{
Socket client = new Socket("127.0.0.1" , 5050);
InputStream in = client.getInputStream();
OutputStream out = client.getOutputStream();

out.write('c');
char c = (char)in.read();
System.out.println("收到:" + c);
out.close();
in.close();
client.close();
}
}

‘贰’ java如何通过tcp向指定的IP发送指令并获得返回的包

以下是一个展示java使用tcp通讯的简单例子,包括服务器和客户端代码:x0dx0ax0dx0a/**x0dx0a *TCPServerx0dx0a */x0dx0aimport java.io.*;x0dx0aimport java.net.*;x0dx0aclass TCPServer{x0dx0a public static void main(String[] args)throws IOException{x0dx0a ServerSocket listen = new ServerSocket(5050);x0dx0a x0dx0a Socket server = listen.accept();x0dx0a InputStream in = server.getInputStream();x0dx0a OutputStream out = server.getOutputStream();x0dx0a char c = (char)in.read();x0dx0a System.out.println("收到:" + c);x0dx0a out.write('s');x0dx0a x0dx0a out.close();x0dx0a in.close();x0dx0a server.close();x0dx0a listen.close();x0dx0a }x0dx0a}x0dx0ax0dx0a/**x0dx0a *TCPClientx0dx0a */x0dx0aimport java.io.*;x0dx0aimport java.net.*;x0dx0aclass TCPClient{x0dx0a public static void main(String[] args)throws IOException{x0dx0a Socket client = new Socket("127.0.0.1" , 5050);x0dx0a InputStream in = client.getInputStream();x0dx0a OutputStream out = client.getOutputStream();x0dx0a x0dx0a out.write('c');x0dx0a char c = (char)in.read();x0dx0a System.out.println("收到:" + c);x0dx0a out.close();x0dx0a in.close();x0dx0a client.close();x0dx0a }x0dx0a}

‘叁’ java中怎么用tcp/ip将服务器的消息发送给多个用户

在Java中使用TCP/IP将服务器的消息发送给多个用户时,首先你需要通过accept方法获取到一个Socket,这个Socket是连接到客户端的Socket,用于实现两者之间的通信。

为了实现这个功能,我创建了一个ServerThread类,用于处理与每个客户端的交互。在ServerThread类中,我为Socket创建了一个成员变量so,并通过构造函数对其进行初始化。这个类还包含两个方法:send和receive,分别用于发送和接收消息。

为了实现接收消息,我创建了一个内部类Thread,并在其中定义了run方法。这个Thread类继承自Thread,并重写了run方法,以实现接收客户端发送的消息。

接着,我创建了一个ServerThread对象tt,并将其与特定的Socket关联起来。为了能够向每个客户端发送消息,我将ServerThread对象保存在一个集合中。这样,当需要向某个特定客户端发送消息时,可以从集合中取出对应的ServerThread对象,调用其send方法,并将要发送的消息对象作为参数传递。

为了实现发送消息,我需要在send方法中添加逻辑,将消息通过Socket发送给客户端。这个过程涉及到使用OutputStream对象将消息写入Socket的输出流中。

通过这种方式,可以实现服务器向多个客户端发送消息的功能。每个客户端的交互都由一个独立的ServerThread处理,这样可以确保消息发送的可靠性和并发性。

此外,还可以进一步优化这个设计,例如通过多线程处理多个客户端的请求,提高服务器的并发性能。在实际应用中,还需要考虑网络错误处理、超时处理等问题,以确保系统的稳定性和可靠性。

总之,通过这种方式,可以实现Java中使用TCP/IP将服务器的消息发送给多个用户的功能。这为构建高性能的网络应用提供了坚实的基础。

‘肆’ 在Java中实现TCP协议编程中怎么传

在Java中实现TCP协议编程

ServerSocket:编写TCP网络服务程序,首先要用到java.net.ServerSocket类用以创建服务器Socket

构造方法:

ServerSocket(intport):创建绑定到特定端口的服务器套接字

ServerSocket(intport,intbacklog):利用指定的backlog(服务器忙时保持连接请求的等待客户数量),创建服务器套接字并将其绑定到指定的本地端口号。

ServerSocket(intport,intbacklog,InetAddressbindAddr):使用指定的端口、侦听backlog和要绑定到的本地IP地址创建服务器。

Socket:客户端要与服务器建立连接,必须先创建一个Socket对象

常用构造方法

Socket(Stringhost,intport):创建一个流套接字并将其连接到指定主机上的指定端口号。

Socket(InetAddressaddress,intport):创建一个流套接字并将其连接到指定IP地址的指定端口号。

服务器端程序调用ServerSocket类中的accept()方法等待客户端的连接请求,一旦accept()接收了客户端连接请求,该方法返回一个与该客户端建立了专线连接的Socket对象,不用程序去创建这个Socket对象。建立了连接的两个Socket是以IO流的方式进行数据交换的,Java提供了Socket类中的getInputStream()返回Socket的输入流对象,getOutputStream()返回Socket的输出流对象。

TCP服务器与TCP客户端间的数据的接受图示:

用TCP实现服务器与客户端的“聊天”:

实例代码:

客户端:

packagecom.hbsi.net;

importjava.net.Socket;

importjava.io.*;

publicclassTcpClient{

publicstaticvoidmain(String[]args)throwsException{

//1.建立tcp客户端socket,要确定要连接的服务器ip,port

Sockets=newSocket("192.168.49.87",9009);

//获取键盘录入

BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));

//2.通过建立的socket,获取输出流对象

//数据输出给服务器端

OutputStreamout=s.getOutputStream();

BufferedWriterbwout=newBufferedWriter(newOutputStreamWriter(out));

//获取服务器端返回的数据

//读取服务器端发过来的信息InputStreamReader()

BufferedReaderbrin=newBufferedReader(newInputStreamReader(

s.getInputStream()));

Stringline=null;

while((line=br.readLine())!=null){

if(line.equals("over"))

break;

bwout.write(line);

bwout.newLine();

bwout.flush();

Stringstr=brin.readLine();

System.out.println("server:"+str);

}

br.close();

s.close();

}

}

服务器端:

packagecom.hbsi.net;

importjava.io.BufferedReader;

importjava.io.BufferedWriter;

importjava.io.InputStream;

importjava.io.InputStreamReader;

importjava.io.OutputStreamWriter;

importjava.net.ServerSocket;

importjava.net.Socket;

publicclassTcpServer{

publicstaticvoidmain(String[]args)throwsException{

//1.建立服务器socket

ServerSocketss=newServerSocket(9009);

//2.调用accept()

Sockets=ss.accept();

System.out.println(s.getInetAddress().getHostAddress()

+"...connection");

//读取客户的信息的输入流

InputStreamin=s.getInputStream();

BufferedReaderbrin=newBufferedReader(newInputStreamReader(in));

//向客户端发送信息输出流,服务端向客户端返回信息OutputStreamWriter()

BufferedWriterbrout=newBufferedWriter(newOutputStreamWriter(

s.getOutputStream())); Stringline=null;

while((line=brin.readLine())!=null){

System.out.println("client:"+line);

brout.write(line.toUpperCase());//服务器端收到信息后,将信息转为大写返回给客户端toUpperCase()

brout.newLine();

brout.flush();

}

s.close();

ss.close();

}

}

热点内容
可执行文件是编译链接后生成的文 发布:2025-04-02 04:36:44 浏览:165
电脑文件加密软件免费 发布:2025-04-02 03:02:51 浏览:798
php图片管理 发布:2025-04-02 03:01:11 浏览:258
然后弄编程 发布:2025-04-02 02:54:06 浏览:105
解压室俱乐部 发布:2025-04-02 02:47:04 浏览:274
安卓哪里下载文豪野犬 发布:2025-04-02 02:45:04 浏览:784
优酷安卓怎么免广告 发布:2025-04-02 02:30:07 浏览:828
安卓系统怎么把繁体字改为简体字 发布:2025-04-02 02:14:39 浏览:319
androidpos机 发布:2025-04-02 01:40:54 浏览:368
电脑上建立ftp服务器 发布:2025-04-02 01:26:59 浏览:721