Ⅰ kafka java 通过url连接服务器
可以连接到一个网络服务器并且能够从这个服务器下载指定的URL,程序中直接使用HTTP协议。程序将定义一个输出流,下载的URL的内容将来被写入这个流,通过socket来获得输入和输出流:
view sourceprint?
01 import java.io.*;
02 import java.net.*;
03 public class HttpClient {
04 public static void main(String[] args) {
05 try {
06 // Demo参数:
07 if ((args.length != 1) && (args.length != 2))
08 throw new IllegalArgumentException("Wrong number of args");
09 //定义输出流,下载的URL内容被写入这个流
10 OutputStream to_file;
11 if (args.length == 2) to_file = new FileOutputStream(args[1]);
12 else to_file = System.out;
13 //使用URL类来把用户指定的URL解析成几个部分
14 URL url = new URL(args[0]);
15 String protocol = url.getProtocol();
16 if (!protocol.equals("http")) // 检验是否满足支持的协议
17 throw new IllegalArgumentException("Must use 'http:' protocol");
18 String host = url.getHost();
19 int port = url.getPort();
20 if (port == -1) port = 80; //如果没有指定端口,用默认端口
21 String filename = url.getFile();
22 // 打开一个连接到指定主机和端口的网络socket连接
23 Socket socket = new Socket(host, port);
24 // 通过socket来获得输入和输出流
25 InputStream from_server = socket.getInputStream();
26 PrintWriter to_server = new PrintWriter(socket.getOutputStream());
27
28 // 发送HTTP GET命令给网络服务器,指定要下载的文件
29 // 使用了一个老版本非常简单的HTTP协议
30 to_server.print("GET " + filename + "\n\n");
31 to_server.flush(); // 立即发送
32 // 现在读取服务器的响应,把接收到的内容写入文件
33 byte[] buffer = new byte[4096];
34 int bytes_read;
35 while((bytes_read = from_server.read(buffer)) != -1)
36 to_file.write(buffer, 0, bytes_read);
37 // 当服务器关闭连接时,也关闭stuff
38 socket.close();
39 to_file.close();
40 }
41 catch (Exception e) { // 发布错误
42 System.err.println(e);
43 System.err.println("Usage: java HttpClient <URL> [<filename>]");
44 }
45 }
46 }
Ⅱ 本地java项目如何连接阿里云服务器上的mysql
首先您需要保证您本地Java项目是可以联网的,然后在mysql的连接中输入阿里云服务器的地址以及数据库名和密码就行。
Ⅲ 自己在java建了服务器别人怎么进来服务器呢
在Java中创建了一个服务器之后,要让其他人能够访问该服务器,通常涉及以下几个步骤:
确保服务器已启动并监听:
使用Java编写的网络服务器,如之前提到的,通常使用ServerSocket来监听特定的端口。例如,ServerSocket serverSocket = new ServerSocket(8080);这行代码将服务器绑定到8080端口上。确保服务器正在运行并且正在监听该端口。
告知其他人服务器的地址和端口:
为了让其他人能够连接到你的服务器,你需要告诉他们服务器的IP地址和监听的端口号。例如,如果你的服务器在本地计算机上运行,并且你有一个公共的IP地址(或者你可以通过路由器进行端口转发),其他人就可以使用你的公共IP地址和端口号(如your_public_ip:8080)来尝试连接到你的服务器。
处理客户端连接:
在服务器端,你需要使用ServerSocket的accept()方法来等待客户端的连接。当客户端尝试连接时,accept()方法将返回一个Socket对象,你可以使用这个对象与客户端进行通信。
确保网络设置允许外部连接:
如果你的服务器运行在一个私有的网络环境中(如家庭网络或公司内部网络),你可能需要配置路由器或防火墙来允许外部连接。这通常涉及到端口转发,即将外部连接转发到你的服务器所在的内部IP地址和端口上。
处理客户端请求和响应:
一旦客户端连接上服务器,你就可以通过Socket对象发送和接收数据了。你需要编写代码来处理客户端的请求,并生成适当的响应。
测试连接:
在将服务器的地址和端口告诉其他人之前,最好先自己测试一下连接是否正常。你可以使用telnet或其他网络工具来尝试连接到你的服务器,并检查是否能够成功建立连接和发送/接收数据。
Ⅳ java中客户端用socket连接上服务端之后一直没有断开,不定时给服务端发送数据,服务器端如何知道
如果是一对一的话,不要用到线程,相当于一个1对1的聊天。主要是这,你看下
try{t.setText("服务端开启,等待客户端连接");
ss=new ServerSocket(50000);
}catch(IOException e){
System.err.println("无法在50000端口建立监听服务");
System.exit(1);
}
try{ s=ss.accept();
fstart=true;
t.append("\n和来自"+s.getInetAddress()+"客户端连接成功!\n");
t.append("\n你现在可以通信了");
dis=new DataInputStream(s.getInputStream());
kehu[1]=dis.readUTF();
}catch(IOException e){
System.err.println("和客户端建立服务失败");
System.exit(1);
}
try{
while(true){
dis=new DataInputStream(s.getInputStream());
dos=new DataOutputStream(s.getOutputStream());
t.append("\n客户端1:"+dis.readUTF());
}
}catch(IOException e){
}
}