导航:首页 > 配服务器 > 单击触发服务器如何发送数据

单击触发服务器如何发送数据

发布时间:2022-04-23 15:27:05

1. 我想问下php当中一个按钮怎样把信息发送到要去的服务器呢 php新手,分实在没有了,但我相信问题很简单。

这样,在一个网页里弄个form表单
<form action="server.php" method="post">
姓名:<input type="text" /><br />
年龄:<input type="text" /><br />

<input type="submit" value="提交" />
</form>

上面是html代码

下面是单击提交按钮后数据发送到server.php页面
print_r($_POST);

2. android做客户端socket如何让点击按钮向服务器发送信息

使用基于TCP协议的Socket
一个客户端要发起一次通信,首先必须知道运行服务器端的主机IP地址。然后由网络基础设施利用目标地址,将客户端发送的信息传递到正确的主机上,在java中,地址可以由一个字符串来定义,这个字符串可以使数字型的地址(比如192.168.1.1),也可以是主机名(example.com)。
而在android 4.0 之后系统以后就禁止在主线程中进行网络访问了,原因是:

主线程是负责UI的响应,如果在主线程进行网络访问,超过5秒的话就会引发强制关闭,所以这种耗时的操作不能放在主线程里。放在子线程里,而子线程里是不能对主线程的UI进行改变的,因此就引出了Handler,主线程里定义Handler,子线程里使用。
以下是一个android socket客户端的例子:
---------------------------------Java代码---------------------------------------
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

import java.io.PrintStream;
import java.io.UnsupportedEncodingException;
import java.net.InetSocketAddress;
import java.net.Socket;
import java.net.UnknownHostException;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class TCPSocketActivity extends Activity {

public static final String TAG = TCPSocketActivity.class.getSimpleName();

/* 服务器地址 */
private String host_ip = null;
/* 服务器端口 */
private int host_port = 0;

private Button btnConnect;
private Button btnSend;
private EditText editSend;
private EditText hostIP;
private EditText hostPort;
private Socket socket;
private PrintStream output;
private String buffer = "";
private Context context;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_socket_test);
context = this;
initView();

btnConnect.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
host_ip = hostIP.getText().toString();
host_port = Integer.parseInt(hostPort.getText().toString());
new Thread(new ConnectThread()).start();
}
});

btnSend.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
new Thread(new SendThread(editSend.getText().toString())).start();
}
});
}

private void toastText(String message) {
Toast.makeText(context, message, Toast.LENGTH_LONG).show();
}

public void handleException(Exception e, String prefix) {
e.printStackTrace();
toastText(prefix + e.toString());
}

public void initView() {
btnConnect = (Button) findViewById(R.id.btnConnect);
btnSend = (Button) findViewById(R.id.btnSend);
editSend = (EditText) findViewById(R.id.sendMsg);
hostIP = (EditText) findViewById(R.id.hostIP);
hostPort = (EditText) findViewById(R.id.hostPort);
}

private void closeSocket() {
try {
output.close();
socket.close();
} catch (IOException e) {
handleException(e, "close exception: ");
}
}

Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if (0x123 == msg.what) {
toastText("连接成功!");
}
}
};

/* 连接socket线程 */
public class ConnectThread implements Runnable {
@Override
public void run() {
// TODO Auto-generated method stub
Message msg = Message.obtain();
try {
if (null == socket || socket.isClosed()) {
socket = new Socket();
socket.connect(new InetSocketAddress(host_ip,host_port),5000);
output = new PrintStream(socket.getOutputStream(), true,
"utf-8");
}
msg.what = 0x123;
handler.sendMessage(msg);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}

/*发送信息线程*/
public class SendThread implements Runnable {

String msg;

public SendThread(String msg) {
super();
this.msg = msg;
}

@Override
public void run() {
// TODO Auto-generated method stub
try {
output.print(msg);
} catch (Exception e) {
e.printStackTrace();
}
closeSocket();
}

}

public class SocketThread implements Runnable {
public String txt1;

public SocketThread(String txt1) {
super();
this.txt1 = txt1;
}

@Override
public void run() {
// TODO Auto-generated method stub
Message msg = Message.obtain();
try {
/* 连接服务器 并设置连接超时为5秒 */
if (socket.isClosed() || null == socket) {
socket = new Socket();
socket.connect(new InetSocketAddress(host_ip,host_port),5000);
}
// 获取输入输出流
PrintStream ou = new PrintStream(socket.getOutputStream(),
true, "UTF-8");
BufferedReader bff = new BufferedReader(new InputStreamReader(
socket.getInputStream()));
// 读取发来服务器信息
String line = null;
buffer = "";
while ((line = bff.readLine()) != null) {
buffer = line + buffer;
}

// 向服务器发送信息
ou.print(txt1);
ou.flush();
// 关闭各种输入输出流
bff.close();
ou.close();
socket.close();
msg.what = 0x123;
handler.sendMessage(msg);
} catch (UnknownHostException e) {
} catch (IOException e) {
}
}
}
}
-----------------------------布局文件activity_socket_test.xml--------------------------------------
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/white"
android:orientation="vertical" >

<EditText
android:id="@+id/hostIP"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dip"
android:hint="服务器ip"
android:singleLine="true"
android:inputType="text" />

<EditText
android:id="@+id/hostPort"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dip"
android:hint="端口"
android:singleLine="true"
android:inputType="number" />

<Button
android:id="@+id/btnConnect"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|center_horizontal"
android:background="@drawable/style_btn_shape"
android:layout_margin="5dip"
android:text="@string/connect"
android:textColor="@color/white" />

<EditText
android:id="@+id/sendMsg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dip"
android:hint="需要发送的内容"
android:inputType="text" />

<Button
android:id="@+id/btnSend"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="5dip"
android:background="@drawable/style_btn_shape"
android:layout_gravity="center_vertical|center_horizontal"
android:text="@string/send"
android:textColor="@color/white" />

</LinearLayout>
-------------------------样式文件style_btn_shape.xml----------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<!-- 填充的颜色 -->
<solid android:color="#0465b2" />
<!-- 设置按钮的四个角为弧形 -->
<!-- android:radius 弧形的半径 -->
<corners android:radius="15dip" />

<!-- padding:Button里面的文字与Button边界的间隔 -->
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp"
/>
</shape>
------------------------------END---------------------------------------

3. 向服务器发送请求的参数的值是如何传过去的

//触发函数
function
checkpart(){
var
hhpntext=document.getElementById("HHPNText").value;
var
url="./CheckPartServlet?HHPNText="+hhpntext;//请求地址及参数传递
xmlHttp.open("GET",
url,
true);//建立请求
xmlHttp.onreadystatechange=handle;//设置回调函数
xmlHttp.send(null);//发送请求
你如果用post的话就放到下面的send里面

4. 问一下,怎么能让服务器主动向客户端发送数据

在HTTP中有一种长连接技术,可以模仿Socket通信实现服务器端主动向客户端浏览器发送数据。它的原理其实很简单:当服务器端接到客户端的询问请求后,将整个HTTP连接置于阻塞状态,即什么也不做,也不发送数据,也不关掉连接。直到客户端需要将最新数据返回给客户端时,将数据通过这个HTTP连接返回回去,并且关闭连接。这样,客户端看到的结果,就似乎是服务器端主动向客户端浏览器发送数据了。但是,关掉连接以后怎么办呢?这时候,可以通过客户端JS代码中的定时器,再次发起请求。这样,只有内容发生了变化,才会进行一次HTTP会话,所以整体效率比轮询方式要高出很多,同时还有了更好的及时性。

5. 如何向服务器端口发送数据包

就是SOCKET 的send和recv ,如果用MFC就用CSocket ,要不直接用socket都一样,包括在linux/UNIX下 !!

6. 如何用服务器发送数据包

你好!
你说的这个是DDOS攻击,就是用多个Pc向目标Pc发送大量无效数据包,目标Pc接收到这些数据包会回应,而这些数据包都是一些没有具体链接的数据包,而目标Pc却一直等待着对方的回应,从而占用目标Pc大量的内存和接入网带宽,造成严重的网络拥堵甚至服务器宕机(掉线,死机)如何实现你只有找别人了,这个问题很严重!

7. 易语言服务器怎么发送信息给全部取回来的客户

不明白编辑框有什么用。


.局部变量 n, 整数型

.计次循环首 (超级列表框.取表项数 (), n)
服务器.发送数据 (超级列表框.取标题 (n, 0), “欲发送数据”, )
.计次循环尾 ()

/*假设的是超级列表框的 0 列是客户IP 请根据源码进行修改

8. 易语言服务器发送数据()的问题

第一个程序
编辑框1用来显示文件路径
编辑框2用来显示对方发来的文本
按钮1用来浏览文件
按钮2用来发送文件
此外还有服务器 通用对话框

.版本 2

.程序集 窗口程序集1

.子程序 _按钮1_被单击

通用对话框1.打开 ()
编辑框1.内容 = 通用对话框1.文件名

.子程序 _按钮2_被单击

服务器1.发送数据 (客户IP, 读入文件 (通用对话框1.文件名), 1000)
信息框 (“发送成功”, 0, )

.子程序 _服务器1_数据到达
.局部变量 file, 字节集

file = 服务器1.取回数据 ()
编辑框2.内容 = 到文本 (file)
信息框 (“数据到达”, 0, )

第二个程序
编辑框1用来显示保存文件的路径
编辑框2用来显示发送的文本
按钮1用来发送文本
此外还有通用对话框 客户
.版本 2

.程序集 窗口程序集1

.子程序 _按钮1_被单击

客户1.连接 (用户IP, 19730)
客户1.发送数据 (编辑框1.内容)
信息框 (“已发送”, 0, )

.子程序 _客户1_数据到达
.局部变量 file, 字节集

file = 客户1.取回数据 ()
通用对话框1.打开 ()
编辑框1.内容 = 通用对话框1.文件名
信息框 (“已保存”, 0, )

我试过了,可以的……
在使用时可以将“客户IP”与“用户IP”替换成想要的IP地址就可以了 IP为文本型

9. html如何向服务器发送信息

Server-Sent 事件 - 单向消息传递Server-Sent 事件指的是网页自动获取来自服务器的更新。以前也可能做到这一点,前提是网页不得不询问是否有可用的更新。通过服务器发送事件,更新能够自动到达。例子:Facebook/Twitter 更新、估价更新、新的博文、赛事结果等。浏览器支持所有主流浏览器均支持服务器发送事件,除了 Internet Explorer。接收Server-Sent 事件通知EventSource 对象用于接收服务器发送事件通知:实例var source=new EventSource("demo_sse.php"); source.onmessage=function(event) { document.getElementById("result").innerHTML+=event.data + "<br />"; }; 例子解释:创建一个新的 EventSource 对象,然后规定发送更新的页面的 URL(本例中是 "demo_sse.php")每接收到一次更新,就会发生 onmessage 事件当onmessage 事件发生时,把已接收的数据推入 id 为 "result" 的元素中检测Server-Sent 事件支持在上面的 TIY 实例中,我们编写了一段额外的代码来检测服务器发送事件的浏览器支持情况:if(typeof(EventSource)!=="undefined") { // Yes! Server-sent events support! // Some code..... } else { // Sorry! No server-sent events support.. } 服务器端代码实例为了让上面的例子可以运行,您还需要能够发送数据更新的服务器(比如 PHP 和 ASP)。服务器端事件流的语法是非常简单的。把 "Content-Type" 报头设置为 "text/event-stream"。现在,您可以开始发送事件流了。

阅读全文

与单击触发服务器如何发送数据相关的资料

热点内容
s型增长速率算法 浏览:975
c语言迷宫算法入门 浏览:238
android列表动画 浏览:359
外企算法面试 浏览:317
卫星加密频道接收器 浏览:447
全加固服务器是什么意思 浏览:255
抖音着名程序员 浏览:199
上海cnc编程学徒招聘 浏览:625
华米app在哪里看跑步记录 浏览:378
新破天一剑最新gm命令 浏览:288
程序员修炼之道核心文 浏览:448
通过云电脑搭建服务器 浏览:610
怎样给自己qq群加密 浏览:597
开发app需要看什么书 浏览:932
分布式负载均衡算法 浏览:181
公司安全软件文件加密 浏览:393
程序员怎么开发自己的大脑 浏览:210
怎么提高抖音推荐算法 浏览:982
插夹式文件夹 浏览:959
nginx启动命令mac 浏览:641