python socket编程实例 带图形界面_python的socket编程实例
用python做socket是一件非常爽的事,那么我們就來實現服務器端和客戶端(客戶端分python版和php版)
首先我們來看服務器端代碼:
#coding=gbk
#pythonsocket通信
import socket
import time
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.bind(('localhost', 8001)) #綁定IP地址和端口號
sock.listen(5)
while True:
thistime=time.strftime('%Y-%m-%d-%H-%M-%S',time.localtime())
try:
connection,address = sock.accept()
connection.settimeout(5)#設置超時間
buf = connection.recv(1024) #設置接收長度
print (thistime+"接收到:"+buf+"")
connection.send(thistime+':'+buf)
except socket.timeout:
print 'time out'
connection.close()
接下來我們就看看客戶端的代碼:
#coding=gbk
import socket
HOST = 'localhost' #綁定的IP
PORT = 8001 #綁定的端口
while True:
temp=raw_input("輸入任意字符發送:")
if temp=="exit":
break
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
strd=temp+""
s.connect((HOST, PORT))
s.send(strd+"")
data = s.recv(1024)
print data
s.close()
這樣客戶端就能循環地發送輸入的字符串.
php的客戶端呢:
header ( 'Content-type:text/html;charset=gb2312' );
$host = 'tcp://localhost:8001';
$fp = stream_socket_client($host,$errno, $error,20);
if (! $fp) echo "$error ($errno)";
else
{
fwrite ( $fp, 'sss' );
while ( ! feof ( $fp ) )
{
echo fgets ( $fp ); #獲取服務器返回的內容
}
fclose ( $fp );
}
這樣服務器和客戶機就能通信了,我在本地測試通過.環境py2.6.6+windows xp
總結
以上是生活随笔為你收集整理的python socket编程实例 带图形界面_python的socket编程实例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【英语四六级-必背单词】高中英语单词(C
- 下一篇: 简单的python的socket编程实例