Ⅰ Java中客户端与服务器之间怎样连接
socket通信
客户端:Socket s= new Socket ("轿兄localhost"猛裤,8888);
服务枝帆简器:ServerSocket ss = new ServerSocket(8888);
Socket s=ss.accept();
Ⅱ java 网络编程: 如何实现客户端与客户端之间的之间通信
服务器告凳吵知双方对方的ip地址,并协调由哪一方主动连接。
如 协调结果是: 把c2的地址告诉c1,让c1主动连接c2,让c2打开端口等待连接。
要考虑认证问题,比如c2如何凯盯知道连接上来的是c1,而不是其他人,就需要有认证机制。
另外要枣孙侍考虑内网问题。由于从外部连接内网里面的IP地址是相当繁琐复杂的,所以需要特别的机制处理。
Ⅲ java 采用mina进行网络连接,怎样在客户端绑定本地的ip和port,下面的程序只指定了服务器端
ConnectFuture future = connector.connect(new InetSocketAddress(
host, port));// 创建腊贺连接
future.awaitUninterruptibly();// 等待连接创建完轮蠢派成档圆
Ⅳ java中,怎样实现cs模式的服务器与客户端的通信
Socket通信:
作为服务器端:
//生成服务器端,监听服务器设定的端口槐蔽滑
ServerSocket
socketServer
=
new
ServerSocket(端口号);
//建立客户端和服务器端的链接,这时再看客户端
Socket
socket
=
socketServer.accept();
作为客户端:
//新建一个Socket,包含服务器端的IP和端口号,这样在服务器启动情况下可以建立和服务器的链接.
Socket
socket
=
new
Socket("IP地址","端口号");
这时,服务器端和客户端的连接已经建立,如果需要通信和传输数据的话并裂分别在服务器端、客户端新建流对象,可以通过流对象实现双方铅腊之间的互通.
有关流的内容自己看书体会下就能写出B/S结构的通信了。
Ⅳ java网络编程中,对于客户端和服务器的tcp连接,如果客户端异常断开连接,服务器端如何获知,有什么方法
这个得用java心跳处理机制。就是客户端每隔一段时间向服务器发送指定信息,如果服务器没有收到客服端发来的信息,这时服务器和客服端连接就已经断开。具体的心跳实现网络上很多。
Ⅵ java客户端和服务端建立连接防火墙关闭怎解决
右键点击网络Internet访问共享中心。
网络共享中心左下方导航处有个‘Windows 防火墙’,点击历圆进入。
进入‘允许程序或功能通过windows防粗庆火墙’。
在允许的程序和功能下找到需要设置白名单的软件。如果没有,点击‘允许运行另一程序’。
选择程序,点击后路径会肢凳塌发现变化,转换到程序的路径中。把程序添加进来。
在家庭/工作专用和公用前面都打上勾,也可以按自己的需要去改变。最后保存方可。
Ⅶ 在java网络连接中有客户端和服务器端
我想你应该是想问C/S架构中的客户端和服务端
两者最常见的方式是通过Socket方式进行通信。
Socket可以理解成一个电线插座的工作过程:
服务器是电源插件, 客户端是电器
C和S通过电线和指定的插孔进行连接,连上后,S将电力源源不断发送到C, C就可以工作了。 当然C也可以反向发送指轿信息到S。 两者可以相互通信。
在建立的过程中代码有一唯扰肆些不同。
在服务端采用API类是ServerSocket
在客户端采用的API是Socket类
连接建立后,双方都通过连接获取输入和输出流从而实现通信。即: InputStream is=socket.getInputStream();
is.read(...);
连接代码:
S端:
ServerSocket server=null;
try {
server=new ServerSocket(指定的端口);
}catch(Exception e){
System.out.println("不李毕能监听:"+e.toString());
}
Socket socket=null;
try {
socket=server.accept();
InputStream is=socket.getInputStream();
//己通过建立起流,可以读取客户端发来的请求了
//同样也可以发送能过 sokcet.getOutputStream()
.....
}
catch(IOException e){
System.out.println("出错:"+e.toString());
}finally{
try {
if(socket!=null){
socket.close();
server.close();
}
}
catch(IOException e){
e.printStackTrace();
}
}
客户端:
Socket socket=null;
try {
socket=new Socket(url,端口);
//获取输出流,从而向服务端发数据
socket.getOutputStream();
//获取输入流,从而可以读服务端的数据
socket.getInputStream();
.....
}catch(Exception e){
e.printStackTrace();
}
finally{
try {
socket.close();
}
catch(IOException e){
e.printStackTrace();
}
}
Ⅷ java网络编程应该怎样在客户端和服务器间实现通信
以前写的,照贴了。。。服务器端:import java.awt.*;x0dx0aimport java.awt.event.WindowAdapter;x0dx0aimport java.awt.event.WindowEvent;x0dx0aimport java.io.*;x0dx0aimport java.net.*;/*6、 采用UDP协兄侍议,编写一羡销吵个Java网络应用程序,该应用分服务器端程序和客户端程序两部分。x0dx0a* 客户端指定一个服务器上的文件名,让服斗梁务器发回该文件的内容,或者提示文件不存在。x0dx0a* (20分)(服务端程序和客户端程序分别命名为Server.java和Client.java)*/x0dx0apublic class N4BT6 extends Framex0dx0a{x0dx0aDatagramSocket socket ;x0dx0aDatagramPacket packet ;byte[] buf ;x0dx0aFile file ;x0dx0aFileInputStream input;x0dx0aString message = "该文件不存在";x0dx0aTextArea text;x0dx0apublic N4BT6(String title)x0dx0a{x0dx0asuper(title);x0dx0atext = new TextArea(6,4);x0dx0aadd(text);x0dx0asetSize(400, 300);x0dx0asetVisible(true);x0dx0aaddWindowListener(new WindowAdapter()x0dx0a{x0dx0apublic void windowClosing(WindowEvent e)x0dx0a{x0dx0adispose();x0dx0a}x0dx0a});x0dx0ax0dx0abuf = new byte[1024];x0dx0atryx0dx0a{x0dx0asocket = new DatagramSocket(1230);x0dx0apacket = new DatagramPacket(buf, buf.length);x0dx0asocket.receive(packet);x0dx0afile = new File(new String(packet.getData()));x0dx0asocket = new DatagramSocket();x0dx0a} x0dx0acatch (Exception e)x0dx0a{e.printStackTrace();x0dx0a}x0dx0ax0dx0aif(file.exists())x0dx0a{x0dx0atryx0dx0a{x0dx0abuf = new byte[(int)file.length()];x0dx0apacket = new DatagramPacket(buf,buf.length,InetAddress.getLocalHost(),1234);x0dx0ainput = new FileInputStream(file);x0dx0ainput.read(buf);x0dx0asocket.send(packet);x0dx0a}x0dx0acatch (IOException e) x0dx0a{x0dx0ae.printStackTrace();x0dx0a}x0dx0a}x0dx0aelsex0dx0a{x0dx0atryx0dx0a{x0dx0apacket = new DatagramPacket(message.getBytes(),message.getBytes().length,x0dx0aInetAddress.getLocalHost(),1234);x0dx0asocket.send(packet);x0dx0a}x0dx0acatch (Exception e) x0dx0a{x0dx0ae.printStackTrace();x0dx0a}x0dx0a}x0dx0ax0dx0a}x0dx0apublic static void main(String[] args)x0dx0a{x0dx0anew N4BT6("Server");x0dx0a}x0dx0a}x0dx0a客户端:import java.awt.*;x0dx0aimport java.awt.event.*;x0dx0aimport java.net.DatagramPacket;x0dx0aimport java.net.DatagramSocket;x0dx0aimport java.net.InetAddress;public class N4BT6_2 extends Framex0dx0a{x0dx0aTextArea text;x0dx0aString message = "Q.txt";x0dx0aDatagramSocket socket ;x0dx0aDatagramPacket packet;x0dx0abyte[] buf;x0dx0apublic N4BT6_2(String title)x0dx0a{x0dx0asuper(title);x0dx0atext = new TextArea(6,4);x0dx0aadd(text);x0dx0asetSize(400, 300);x0dx0asetVisible(true);x0dx0aaddWindowListener(new WindowAdapter()x0dx0a{x0dx0apublic void windowClosing(WindowEvent e)x0dx0a{x0dx0adispose();x0dx0a}x0dx0a});x0dx0atryx0dx0a{x0dx0ax0dx0asocket = new DatagramSocket();x0dx0apacket = new DatagramPacket(message.getBytes(),message.getBytes().length,x0dx0aInetAddress.getLocalHost(),1230);x0dx0asocket.send(packet);x0dx0a}x0dx0acatch (Exception e) x0dx0a{x0dx0ae.printStackTrace();x0dx0a}x0dx0ax0dx0atryx0dx0a{x0dx0abuf = new byte[1024];x0dx0asocket = new DatagramSocket(1234);x0dx0apacket = new DatagramPacket(buf,buf.length);x0dx0asocket.receive(packet);x0dx0atext.append(new String(buf));x0dx0a}x0dx0acatch (Exception e) x0dx0a{x0dx0ae.printStackTrace();x0dx0a}x0dx0a}x0dx0apublic static void main(String[] args)x0dx0a{x0dx0anew N4BT6_2("Client");x0dx0a}x0dx0a}
Ⅸ java Socket编程 客户端与服务器端在两个网里怎么实现连接 s = new Socket("127.0.0.1", 8880);这个IP怎么
s
=
new
socket("127.0.0.1",
8880)
前面那个ip是服务器备正银的地址,只要这个ip写正确了,服务器放在哪里,客户端都能连上去的。
127.0。0.1最简单的解释就是本机地址,你用这个ip,访问的就是你自己。
你可以去服务器上查看仿宴一下网络地址,然后把127.0。0.1换清竖成服务器的ip。
Ⅹ java网络编程,这里出现什么问题,怎么客户端跟服务器连接不上,而且也不会输出
PrintWriter out = new PrintWriter(s.getOutputStream());
out.write("你好!");
替换成陆备
PrintStream out = new PrintStream(s.getOutputStream());
out.print("皮氏你好!"燃悉散);