1,502
社区成员
发帖
与我相关
我的任务
分享
<?php
$server = '127.0.0.1';
$port = 8888;
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if($socket < 0) {
echo socket_strerror($socket);
} else {
echo '成功<br />';
}
$result = @socket_connect($socket, $server, $port);
$buf = '你好啊我';
$len = strlen($buf);
socket_send($socket, $buf, $len, 0);
socket_close($socket);
?>
Option Explicit
Private Sub Form_Load()
tcpServer.LocalPort = 8888
tcpServer.Listen
lblstate.Caption = "目前没有客户端连入!"
End Sub
Private Sub tcpServer_ConnectionRequest(ByVal requestID As Long)
If tcpServer.State <> sckClosed Then tcpServer.Close
tcpServer.Accept requestID
lblstate.Caption = "有客户端连入本机! IP:" & tcpServer.RemoteHostIP
End Sub
Private Sub tcpServer_DataArrival(ByVal bytesTotal As Long)
Dim strData As String
tcpServer.GetData strData
txtOutput.Text = strData & vbCrLf & txtOutput.Text
End Sub
Private Sub txtSendData_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If tcpServer.State = sckConnected Then
tcpServer.SendData "服务器说:" & txtSendData.Text
txtOutput.Text = "服务器说" & txtSendData.Text & vbCrLf & txtOutput.Text
txtSendData.Text = ""
Else
MsgBox "目前没有连接的客户端!"
End If
End If
End Sub
Warning: socket_send() [function.socket-send]: unable to write to socket [0]: 由于套接字没有连接并且(当使用一个 sendto 调用发送数据报套接字时)没有提供地址,发送或接收数据的请求没有被接受。 in E:\wamp\www\test\test3.php on line 19

在 winsock1.Close 下面加了 重新监听 就行了
winsock1.Listen
Private Sub Form_Load()
winsock1.LocalPort = 8888
winsock1.Listen
End Sub
Private Sub winsock1_ConnectionRequest(ByVal requestID As Long)
If winsock1.State <> sckClosed Then winsock1.Close
winsock1.Accept requestID
Label1.Caption = "有客户端接入本机!IP:为" & winsock1.RemoteHostIP
End Sub
Private Sub winsock1_DataArrival(ByVal bytesTotal As Long)
Dim strData As String
winsock1.GetData strData
Text1.Text = strData
winsock1.Close
End Sub
我已经增加了 close 但是好像还是不行