利用java在服务器和客服端建立连接,进行通讯(代码实例)
客服端代码:有注释
package javanet;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
public class demo2client {
public static void main(String[] args) {
//服务器的Ip地址和服务器所使用的端口号
String host = "localhost";
int port=20000;
try {
P("客服端启动,说点什么给服务器");
Socket socket = new Socket(host,port);
Scanner in = new Scanner(System.in);
String str = in.nextLine();
//构建一个输出流,发送数据到服务器
OutputStream os = socket.getOutputStream();
//os.write(str.getBytes());
//PrintWriter自带缓冲,这个可以实时传输
PrintWriter Print = new PrintWriter(os);
Print.println(str);
Print.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void P(String s){
System.out.println(s);
}
}
服务器段代码 有注释
package javanet;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class demo2 {
public static void main(String[] args) {
/*
* socket一共有65535个端口号,指的是程序在socket中获取数据的标识,从1-65535,
* 端口范围 1-1024位系统保留端口,不能使用
* eg 80 网络传输端口 115邮箱发送端口 8080tomcat服务端口 1158oracle服务端口1521oracle远程登录监听端口
* 1433mysqlserver登录端口 很多重要的的程序已经在占用了 27 重要传输端口 900
* 程序通常能够使用的端口在20000-50000之间, 30000个端口足够你用,一个程序最多用3个而已
*
*/
int port=20000;
try {//服务器套接字
ServerSocket ss= new ServerSocket(port);
P("服务器已经启动");
Socket socket =ss.accept();//服务器套接字等待一个客服端socket连入,如果连接成功的话,就会创建一个套接字,不然在这里一直等待
P("已经接受");
//构建输入流,获取客服端发送的数据
InputStream is = socket.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String str = null;
if ((str=br.readLine())!=null){
P("客服端说:"+str);//打印
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static void P(String s){
System.out.println(s);
}
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
利用java在服务器和客服端建立连接,进行通讯(代码实例)的更多相关文章
- Python网络编程UDP服务器与客服端简单例子
[转载] https://blog.csdn.net/hu330459076/article/details/7868028 UDP服务器代码: #!/usr/bin/env python # -*- ...
- 浏览器与服务器间的交互(客服端 <---> 服务器)
浏览器与服务器间的交互(客服端 <---> 服务器) 请求--->处理--->响应 对类HttpContext 内部成员的使用 例如 :Request .Response . ...
- java UDP 通信:服务端与客服端
import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import j ...
- C# 向服务器上传文件(客服端winform、服务端web)
转载 首先写客服端,winform模拟一个post提交: /// <summary> /// 将本地文件上传到指定的服务器(HttpWebRequest方法) /// </summa ...
- Java 获取客服端ip地址
Java 获取客服端ip地址 /** * <html> * <body> * <P> Copyright 1994 JsonInternational</p& ...
- TCP服务器端和客服端(一)
就是一个客服端(Socket)和服务器(ServerSocket)端的链接间.我的理解是一个服务端可以链接多个客服端. 在客服端有输入流outPutStream. 用于发送数据 在服务器端有输出流.i ...
- android客服端+eps8266+单片机+路由器之远程控制系统
用android客服端+eps8266+单片机+路由器做了一个远程控制的系统,因为自己是在实验室里,所以把实验室的门,灯做成了远程控制的. 控制距离有多远------只能说很远很远,只要你手机能上网的 ...
- Live555 分析(三):客服端
live555的客服端流程:建立任务计划对象--建立环境对象--处理用户输入的参数(RTSP地址)--创建RTSPClient实例--发出DESCRIBE--发出SETUP--发出PLAY--进入Lo ...
- cas 服务端、客服端详细配置
一.准备 1.下载官方源码 CAS-Server下载地址:https://www.apereo.org/projects/cas/download-cas CAS-Client下载地址:http:// ...
随机推荐
- jQuery+bootstrap实现美化警告/确认/提示对话框插件
http://www.html580.com/12067/demo http://craftpip.github.io/jquery-confirm/
- 【BZOJ3611】[Heoi2014]大工程 欧拉序+ST表+单调栈
[BZOJ3611][Heoi2014]大工程 Description 国家有一个大工程,要给一个非常大的交通网络里建一些新的通道. 我们这个国家位置非常特殊,可以看成是一个单位边权的树,城市位于顶 ...
- ubuntu 安装 pygame 很好玩的东西
1. 简介 pygame 是基于对 SDL库的python 封装,提供python接口.SDL(Simple DirectMedia Layer) 是一个跨平台的游戏开发库,方便游戏开发和移植.目前最 ...
- k-anonymity
k匿名(k-anonymity)是一种常用的社交网络隐私保护技术,其思想是通过人为构造一定数量与目标节点拓扑结构相同的节点来降低用户被定位的概率 [匿名]英语怎么说_在线翻译_有道词典 http:// ...
- java参数的值传递和引用传递
今天抽了点时间继续啃java核心基础,即使出来做web挺长时间了,始终觉得基础极其重要. 遇到了java参数的传递类型,豁然开朗之时不忘写下记录. java中采用的总是值传递,包括对对象参数的传递,采 ...
- viewport详解
本文主要讲解viewpor相关知识. 参考资料&内容来源 博客园:https://www.cnblogs.com/zaoa/p/8630393.html 博客园:http://www.cnbl ...
- Spring当中的名称装配和类型装配有什么区别?
6 人赞同了该回答 Spring auto-wire的 五种方式:1:no 默认的方式是不进行自动装配,通过手工设置ref 属性来进行装配bean2:byName 通过参数名 自动装配,如果一个bea ...
- 如何在Mac的Finder中显示/usr、/tmp、/var等隐藏目录
原文链接: http://blog.csdn.net/yhawaii/article/details/7435918 Finder中默认是不显示/usr./tmp./var等隐藏目录的,通过在终端中输 ...
- Android SDK Manager更新问题
1.如果是windows7,那么"开始-->所有程序-->Android SDK Tools-->右键SDK Manager-->以管理员身份运行(A)"2 ...
- CSS3实现水位充满文字特效
CSS3实现水位充满文字特效是一款既是Loading特效也是文字特效,Loading动画开始时,文字中的水位渐渐上升,为了模拟水位上升的真实效果,水面还会波浪浮动,当Loading动画结束时,文字中的 ...