导航:首页 > 编程语言 > java获取socket请求

java获取socket请求

发布时间:2021-02-23 17:03:17

『壹』 java怎么接收TCP/IP请求,只有socket那种方法吗

还有ACE,不过很少用

『贰』 Java Web项目怎么监听socket请求

不知道具体需求是什么。如果用java web作为服务端,那可以在web项目启动的时候,增加socket监听服务。在web项目的listener增加启动类。
或者干脆使用如netty这样的IO框架。

『叁』 用JAVA写一个SOCKET 接收TCP发来的消息

public class TalkServer{

static void main(String args[]) {

try{

ServerSocket server=null;

try{

server=new ServerSocket(4700);

//创建一个ServerSocket在端口4700监听客户请求

}catch(Exception e) {

System.out.println("can not listen to:"+e);

//出错,打印出错信息

}

Socket socket=null;

try{

socket=server.accept();

//使用accept()阻塞等待客户请求,有客户

//请求到来则产生一个Socket对象,并继续执行

}catch(Exception e) {

System.out.println("Error."+e);

//出错,打印出错信息

}

String line;

BufferedReader is=new BufferedReader(new InputStreamReader(socket.getInputStream()));

//由Socket对象得到输入流,并构造相应的BufferedReader对象

PrintWriter os=newPrintWriter(socket.getOutputStream());

//由Socket对象得到输出流,并构造PrintWriter对象

BufferedReader sin=new BufferedReader(new InputStreamReader(System.in));

//由系统标准输入设备构造BufferedReader对象

System.out.println("Client:"+is.readLine());

//在标准输出上打印从客户端读入的字符串

line=sin.readLine();

//从标准输入读入一字符串

while(!line.equals("bye")){

//如果该字符串为 "bye",则停止循环

os.println(line);

//向客户端输出该字符串

os.flush();

//刷新输出流,使Client马上收到该字符串

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

//在系统标准输出上打印读入的字符串

System.out.println("Client:"+is.readLine());

//从Client读入一字符串,并打印到标准输出上

line=sin.readLine();

//从系统标准输入读入一字符串

} //继续循环

os.close(); //关闭Socket输出流

is.close(); //关闭Socket输入流

socket.close(); //关闭Socket

server.close(); //关闭ServerSocket

}catch(Exception e){

System.out.println("Error:"+e);

//出错,打印出错信息

}

}

}

『肆』 java Socket 长连接后,如何获取发来的数据

用一个死循环等着socket传数据过来,接一次数据循环一次,没有接到数据时,就是自动等待了。

『伍』 java:ServerSocket中获取所有连接上的Socket

可以的。
首先确保你已经建立了(对象名字是server),并接受到了连接:
ArrayList<Socket > sockets = new ArrayList<Socket>(); //保存所有接受的socket
while(true){ //一直接受连接
Socket s = server.accept();

sockets.add(s);

}

///得到仍处于连接当中的Socket
public ArrayList<Socket > getConnectedSockets(){
ArrayList<Socket > alivedSockets = new ArrayList<Socket>();

for(int i=0;i<sockets.size();i++){

if(sockets.get(i).isConnected()){
alivedSockets .add(sockets.get(i));

}

}

return alivedSockets;
}

『陆』 Java:这种是如何请求Socket的,第一次见

您好,一、建立服务器类
Java中有一个专门用来建立Socket服务器的类,名叫,可以用服务器需要使用的端口号作为参数来创建服务器对象。
ServerSocket server = new ServerSocket(9998)
这条语句创建了一个服务器对象,这个服务器使用9998号端口即在端口9998上注册服务,这里稍微要注意的是端口的分配必须是唯一的。因为端口是为了唯一标识每台计算机唯一服务的,另外端口号是从0~65535之间的,前1024个端口已经被Tcp/Ip 作为保留端口,因此你所分配的端口只能是1024个之后的。当一个客户端程序建立一个Socket连接,所连接的端口号为9998时,服务器对象server便响应这个连接,并且server.accept()()方法会创建一个Socket对象。服务器端便可以利用这个Socket对象与客户进行通讯。
Socket incoming = server.accept()() ; // 监听窗口,等待连接
进而得到输入流和输出流,并进行封装
BufferedReader in = new BufferedReader(new
InputStreamReader(incoming.getInputStream()));

/*

当读取文件时,先把内容读到缓存中,当调用in.readLine()时,再从缓存中以字符的方式读取数据(以下简称“缓存字节读取方式”)。

*/

PrintWriter ut = new PrintWriter(incoming.getOutputStream(),true);

随后,就可以使用in.readLine()方法得到客户端的输入,也可以使用out.println()方法向客户端发送数据。从而可以根据程序的需要对客户端的不同请求进行回应。

在所有通讯结束以后应该关闭这两个数据流,关闭的顺序是先关闭输出流,再关闭输入流,即使用

out.close();

in.close();
二、建立客户端代码
相比服务器端,客户端要简单一些,客户端只需用服务器所在机器的ip以及服务器的端口作为参数创建一个Socket对象。得到这个对象后,就可以用"建立服务器"部分介绍的方法实现数据的输入和输出。
Socket socket = new Socket("168.160.12.42",9998);
或:
Socket socket = new Socket(InetAddress.getLocalHost(),5678); // 向主机名为InetAddress.getLocalHost()的服务器申请连接
客户机必须知道有关服务器的IP地址,对于着一点Java也提供了一个相关的类InetAddress 该对象的实例必须通过它的静态方法来提供,它的静态方法主要提供了得到本机IP 和通过名字或IP直接得到InetAddress的方法。
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
out = new PrintWriter(socket.getOutputStream(),true);
以上的程序代码建立了一个Socket对象,这个对象连接到ip地址为168.160.12.42的主机上、端口为9998的服务器对象。并且建立了输入流和输出流,分别对应服务器的输出和客户端的写入。

『柒』 java 如何从收到的socket中取得IP

首先知道socket类的对象的引用,然后调用该类的方法getInetAddress()就能够获取收到的socket对象的IP地址了。

『捌』 java 怎么获得socket流

public class Server {

public static void main(String args[]) throws IOException {
//为了简单起见,所有的异常信息都往外抛
int port = 8899;
//定义一个ServerSocket监听在端口8899上
ServerSocket server = new ServerSocket(port);
//server尝试接收其他Socket的连接请求,server的accept方法是阻塞式的
Socket socket = server.accept();
//跟客户端建立好连接之后,我们就可以获取socket的InputStream,并从中读取客户端发过来的信息了。
Reader reader = new InputStreamReader(socket.getInputStream());
char chars[] = new char[64];
int len;
StringBuilder sb = new StringBuilder();
while ((len=reader.read(chars)) != -1) {
sb.append(new String(chars, 0, len));
}
System.out.println("from client: " + sb);
reader.close();
socket.close();
server.close();
}

}

『玖』 Java中服务器端ServerSocket对象怎么获取服务器端地址和端口号,怎么获取远程请求的

ServerSocket s = new ServerSocket(8888);
while (true) {
// 建立连接
Socket socket = s.accept();

/ /getInetAddress()获取远程ip地址,getPort()远程客户端的断后好
"你好,客户端地专址信息: " + socket.getInetAddress() + "\t客户端通信端口号属: " + socket.getPort()

『拾』 JAVA Socket post请求方式

建议自己去读下HTTP协议 POST 后边是 页面地址?参数字符串 ,只见到你的内参数字符串了,要提交到哪个地址容完全不知啊。而且翻译的内容也并不是POST到翻译页面的,而是页面通过ajax POST到网络翻译接口的。直接访问网络翻译接口地址就行,网络翻译页面也是通过这个接口地址的。
http://fanyi..com/v2transapi

如果你了解HTTP协议或者想学习HTTP协议 你可以通过socket 或者 telnet来访问页面,如果你只是要功能的话,还是去用HTTPClient或者HttpURLConnection吧,毕竟省去不少代码。

阅读全文

与java获取socket请求相关的资料

热点内容
iphone4的appid 浏览:465
红警2基地车升级 浏览:112
5s屏幕有个灰尘 浏览:581
博易大师指标在哪个文件夹里 浏览:884
微信绑定iii类账户 浏览:84
内网广播风暴检测工具 浏览:626
ps2模拟器安卓汉化版 浏览:658
xp无线网络搜不到 浏览:617
java缓存分布式 浏览:130
ubuntu无法安装升级包 浏览:403
赢在中国大数据 浏览:590
苹果5s不能更新系统 浏览:862
乐视手机怎么降版本吗 浏览:342
php大数据分页代码 浏览:274
泰坦尼克号版本 浏览:426
苹果wifi无线充电软件 浏览:280
在电脑上找不到wifi 浏览:156
雷裂刀升级 浏览:342
json大数据效率 浏览:870
postgre数据库 浏览:540